【发布时间】:2021-01-08 18:29:29
【问题描述】:
如何在 JavaScript 中取消转义这样的字符串
alert(\"Testing\");\nconsole.log(\"Hello\");
所以这是转义到这个:
alert("Testing");
console.log("Hello");
我有一个使用 api 并返回转义字符串的程序,但我想用文字表示替换字符串的转义版本,例如"\n" 带有换行符。我看到了question,里面有这段代码可以转义一个字符串,但是没有说明如何撤消操作,为了更好地理解字符串是如何转义的,这里是有问题的函数转义一个字符串:
function addslashes(string) {
return string.replace(/\\/g, '\\\\').
replace(/\u0008/g, '\\b').
replace(/\t/g, '\\t').
replace(/\n/g, '\\n').
replace(/\f/g, '\\f').
replace(/\r/g, '\\r').
replace(/'/g, '\\\'').
replace(/"/g, '\\"');
}
我非常想撤销它。提前致谢!
编辑
原来我可以这样做:
var string = "<!DOCTYPE html><script>alert(\"Hello\");<\/html>"
console.log(unescape(escape(string)));
【问题讨论】:
-
为什么需要这样做?你试过直接显示字符串吗?
-
在我的具体情况下,我正在制作一个小书签,用于美化任何文本区域中的选定代码。我创建的 API 返回了一个转义字符串,我需要取消转义。
标签: javascript escaping