为了制作一个Web应用程序,我将接收包含引号的文本字符串。因为我将要在文档中写入该字符串,所以它们需要被更改为撇号或转义。如果我尝试这样做却失败了,可能是因为该字符串的引号阻止了其余脚本的工作。如果需要,我会尝试澄清。谢谢!
将它们用于HTML的转义:
var escapedString = string.replace(/'/g, "'").replace(/"/g, """);
将它们转义为JS代码:
var escapedString = string.replace(/(['"])/g, "\\$1");
如果您在服务器上生成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)
在一些HTML中尝试以下代码:
string.replace(/"/g, '');
如果只是JS,则可以使用以下代码:
string.replace(/"/g, '');
这将删除用户提交的值中不需要的引号。
var foo = '\'foo\'';
因此,如果源字符串中有单引号,请将每个单引号替换为反斜杠和单引号。