Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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中的所有特殊字符_Javascript_Html_Escaping - Fatal编程技术网

“如何逃离”&书信电报;以及JavaScript中的所有特殊字符

“如何逃离”&书信电报;以及JavaScript中的所有特殊字符,javascript,html,escaping,Javascript,Html,Escaping,如何在javaScript中转义所有特殊字符 我们正在使用它,但它不起作用: <input type = "text" value="' }{ " : ? > < \ ] [ ' ; / . ,">

如何在javaScript中转义所有特殊字符

我们正在使用它,但它不起作用:

<input type = "text" value="' }{ " : ? > < \ ] [ ' ; / . ,">
<\][';/,“>

您只需与
交换

一个好主意是使用更多的HTML实体:

  • 替换为

通过使用浏览器DOM,您可以让浏览器为您完成工作

创建一个HTML节点,在其上附加一个文本节点,并将希望转义的HTML代码放入文本节点。 仅对于双引号,您可能需要将其替换为
”,并将单引号替换为
';

函数htmlspecialchars(str){
var div=document.createElement('div');
var text=document.createTextNode(str);
子目录(文本);
返回div.innerHTML.replace(/“/g,”).replace(/“/g,”';”);
}
console.log(htmlspecialchars(“”);
console.log(htmlspecialchars(“”);

log(htmlspecialchars(“'}{\”:?><\\][';/,”))
您试图将以下内容作为HTML属性值或JavaScript字符串转义

' }{ " : ? > < \ ] [ ' ; / . ,
"e;
将呈现为
字符

理想情况下,您还应该转义所有HTML保留字符(>和


作为JavaScript字符串 无论使用单引号分隔符(')还是双引号分隔符(“”),字符串
'}{:?><\][';/,
必须以不同的方式转义

单引号
var str = '\' }{ " : ? > < \ ] [ \' ; / . ,';
var str='\'}{:?><\][\';/;
双引号
var str2 = "' }{ \" : ? > < \ ] [ ' ; / . ,";
var str2=“'}{\':?><\][';/,”;

这不是JavaScript,这是HTML。在将其放入HTML之前,您需要对其进行转义。在
之后尝试使用JavaScript对其进行修复不会在
值内部造成任何问题,问题是
引用。请在
之前使用反斜杠“
否则浏览器会认为您正在结束可以将值放入的区域。
value=“\'}{\':?><\][\';/。”,"
@DeepakKamat反斜杠不起作用。涉及到的是HTML解析器,而不是JavaScript解析器。哦,我应该在公开提出任何建议之前尝试一下。谢谢你的提示,尖头。你的名字说到点子上了。;)我这么说的主要原因是,我会用一个集中的HTML转义例程来完成这项工作,并且为了为了避免哑巴,我更喜欢其中的一个,在某些情况下,它总能逃脱任何可能是“危险”的角色。毕竟,这不会造成伤害。
<input type="text" value="' }{ &quote; : ? &gt; &lt; \ ] [ ' ; / . ,">
var str = '\' }{ " : ? > < \ ] [ \' ; / . ,';
var str2 = "' }{ \" : ? > < \ ] [ ' ; / . ,";