JavaScript/jQuery转义特殊字符
我需要用特殊字符来转义字符串,但我不知道怎么做 字符串var值由输入字段设置,因此用户可以根据自己的需要编写任何特殊字符,即使是我不知道的字符,我也可以破坏语法…因此,我想知道实现这一点的更好方法,而不是逐字符转义 这是我的示例代码:JavaScript/jQuery转义特殊字符,javascript,jquery,Javascript,Jquery,我需要用特殊字符来转义字符串,但我不知道怎么做 字符串var值由输入字段设置,因此用户可以根据自己的需要编写任何特殊字符,即使是我不知道的字符,我也可以破坏语法…因此,我想知道实现这一点的更好方法,而不是逐字符转义 这是我的示例代码: string = '-|{}?" Hello \$#^*&@)(~'; newHTML= '<span class="color-red"><b>'+string+'</b></span>'; $('#m
string = '-|{}?" Hello \$#^*&@)(~';
newHTML= '<span class="color-red"><b>'+string+'</b></span>';
$('#my-div').append(newHTML);
但我有一个语法错误。我想转义所有特殊字符。。。正如您所看到的,当我在字符串中使用“”时,此代码检测器也不工作。您在字符串中使用了转义字符backslash\。必须在转义字符之前使用转义字符才能转义它 因此,必须在字符串中定义此字符,如下所示:\\ 您知道,在基于c的编程/脚本语言中,每个特殊字符都必须与转义字符一起使用。比如换行或者返回\n\r或简易jQuery技巧:
string = $("<div></div>").text(string).html();
text对临时div中的字符串进行编码,html获取编码的字符串:您得到的语法错误是什么?您可以使用`\`字符在javascript中转义字符。只需在jquery中使用内置的text方法,即可在将字符串添加到元素之前对其进行编码。在我的回答中,我使用了这种行为作为对字符串进行编码的技巧:DAlso jquery在从输入元素获取值时已经对引号进行了编码,否则jquery在要求警告输入元素值时已经自己出错了……嗯,这是一个字符串。因此,javascript在获取用户输入时会动态地进行转义。如果他/她想转义一个特定的字符,必须简单地替换或过滤字符。是的,我假设$input.val已经被jquery本身转义了。