8

对于我正在制作的网络应用程序,我将收到文本字符串,偶尔会包含引号。因为我将在文档中编写字符串,所以需要将它们更改为撇号或转义。我该怎么做,因为当我尝试时它似乎不起作用,特别是我认为因为字符串的引号会阻止脚本的其余部分工作。

希望这是有道理的,我对此很陌生,所以这就是为什么它可能没有意义。如果需要,我会尝试澄清。谢谢!

4

4 回答 4

18

为 HTML 转义它们:

var escapedString = string.replace(/'/g, "'").replace(/"/g, """);

为 JS 代码转义它们:

var escapedString = string.replace(/(['"])/g, "\\$1");
于 2010-02-28T16:48:23.933 回答
11

如果您在服务器上生成 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)   
于 2010-02-28T15:54:53.427 回答
1

你需要像这样逃避它们:

var foo = '\'foo\'';

因此,如果源字符串有单引号,请将每个单引号替换为斜杠和单引号。

于 2010-02-28T15:57:56.120 回答
1

在一些 HTML 中尝试以下代码:

string.replace(/"/g, '');

如果只是 JS,您可以使用:

string.replace(/"/g, '');

这会删除用户提交的值上不需要的引号。

于 2021-07-02T22:26:35.777 回答