我有一个字符串"是\no↵abc"作为HTML文本区域中的输入。 在执行JSON.stringify时,它返回我" yes \ no \ nabc"。 现在我需要在HTML格式的textarea中显示相同的内容。替换" \ n"我得到JSON.stringify(Stringify将converts转换为\ n)我使用了以下正则表达式str2.replace(/ \ n / g," \ n")。 现在我该如何逃避\我正在获得。
我已将代码附加到
下面
function myFunction() {
var str = document.getElementById("para1").value
var str2 = JSON.stringify(str);
document.getElementById("para").innerText = "Stringified text \n" +str2;
var res = str2.replace(/\\n/g, "\n");
document.getElementById("para2").innerText = "Replaced text \n" + res;
}

<html>
<body>
Click the button</p>
<p id="demo">Demo!</p>
<textarea id = "para1">
</textarea>
<textarea id = "para">
</textarea>
<textarea id = "para2">
</textarea>
<textarea id = "para4">
</textarea>
Click
<button onclick="myFunction()">Try it</button>
</body>
</html>
&#13;
文本区域的输入应为: 是\没有
ABC
答案 0 :(得分:0)
答案 1 :(得分:0)
它非常具体到你想要的东西,并且在其他情况下可能会有破坏的风险,但在这种情况下会照顾你想要的东西。
function myFunction() {
var str = document.getElementById("para1").value
var str2 = JSON.stringify(str);
document.getElementById("para").innerText = "Stringified text \n" +str2;
var res = str2.replace(/(\\\\)/g, "\\ ");
var res = res.replace(/\\n/g, "\n");
var res = res.replace(/\\ /g, "\\");
document.getElementById("para2").innerText = "Replaced text \n" + res;
}
&#13;
<html>
<body>
Click the button</p>
<p id="demo">Demo!</p>
<textarea id = "para1">
</textarea>
<textarea id = "para">
</textarea>
<textarea id = "para2">
</textarea>
<textarea id = "para4">
</textarea>
Click
<button onclick="myFunction()">Try it</button>
</body>
</html>
&#13;
如果有效,请告诉我。干杯!