Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript/jQuery转义特殊字符_Javascript_Jquery - Fatal编程技术网

JavaScript/jQuery转义特殊字符

JavaScript/jQuery转义特殊字符,javascript,jquery,Javascript,Jquery,我需要用特殊字符来转义字符串,但我不知道怎么做 字符串var值由输入字段设置,因此用户可以根据自己的需要编写任何特殊字符,即使是我不知道的字符,我也可以破坏语法…因此,我想知道实现这一点的更好方法,而不是逐字符转义 这是我的示例代码: string = '-|{}?" Hello \$#^*&@)(~'; newHTML= '<span class="color-red"><b>'+string+'</b></span>'; $('#m

我需要用特殊字符来转义字符串,但我不知道怎么做

字符串var值由输入字段设置,因此用户可以根据自己的需要编写任何特殊字符,即使是我不知道的字符,我也可以破坏语法…因此,我想知道实现这一点的更好方法,而不是逐字符转义

这是我的示例代码:

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本身转义了。