对于我正在制作的网络应用,我将会收到文本字符串,偶尔会包含引号。因为我将成为document.writing字符串,所以需要将它们更改为撇号或转义。我该怎么做,因为当我尝试它似乎不起作用时,特别是我认为因为字符串的引号会阻止脚本的其余部分工作。
希望这是有道理的,我对此很新,所以这就是为什么它可能没有意义。如果需要,我会尽力澄清。谢谢!
答案 0 :(得分:16)
为HTML转义它们:
var escapedString = string.replace(/'/g, "'").replace(/"/g, """);
为JS代码转义它们:
var escapedString = string.replace(/(['"])/g, "\\$1");
答案 1 :(得分:10)
如果要在服务器上生成Javascript字符串,则需要转义引号和某些其他字符。
\' Single quotation mark
\" Double quotation mark
\\ Backslash
\b Backspace
\f Form feed
\n New line
\r Carriage return
\t Horizontal tab
\ddd Octal sequence (3 digits: ddd)
\xdd Hexadecimal sequence (2 digits: dd)
\udddd Unicode sequence (4 hex digits: dddd)
答案 2 :(得分:1)
你需要像这样逃避它们:
var foo = '\'foo\'';
因此,如果源字符串有单引号,请用斜杠和单引号替换每个单引号。
答案 3 :(得分:1)
在一些 HTML 中尝试以下代码:
<块引用>string.replace(/"/g, '');
如果只是JS,你可以使用:
<块引用>string.replace(/"/g, '');
这会删除用户提交的值上不需要的引号。