gpt4 book ai didi

javascript - 如何将 JavaScript 中的字符串值转换为代码中的字符串?

转载 作者:行者123 更新时间:2023-11-28 13:55:05 26 4
gpt4 key购买 nike

假设我有一个字符串值 a\bc 保存在变量中,如何将其转换为像 "a\\bc" 这样的代码中的字符串?该字符串可能包含制表符、斜杠、换行符等。

我知道某些浏览器中有内置的 JSON.stringify 方法,并且有一个 JSON2 lib,但我只想有最少的代码可以完成字符串的工作。

最佳答案

听起来像是过早的优化。除非你有性能问题,否则我会使用 JSON.stringify,无需编写额外的代码,无需弄清楚如何对其进行编码。

这里的答案都不够好,因为它们没有对所有可能的内容进行编码,例如 \n、\r、\t 或引号

这是来自 json.org 的代码的明目张胆的副本,它可以满足您的需要。 http://jsfiddle.net/mendesjuan/rFCwF/

function quote(string) {
var escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
var meta = { // table of character substitutions
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
}

// If the string contains no control characters, no quote characters, and no
// backslash characters, then we can safely slap some quotes around it.
// Otherwise we must also replace the offending characters with safe escape
// sequences.

escapable.lastIndex = 0;
return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
var c = meta[a];
return typeof c === 'string' ? c :
'\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
}) + '"' : '"' + string + '"';
}

关于javascript - 如何将 JavaScript 中的字符串值转换为代码中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8508327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com