繁体   English   中英

Javascript-替换HTML代码

[英]Javascript - replace HTML code

我正在尝试替换JavaScript中的一些代码。 不知何故,这行不通。

var name = "check & ' \"";
alert(name);
alert(name.replace(/["]/g, "\""));
alert(name.replace(/[\]/g, "\"));       

我究竟做错了什么?

不要使用正则表达式,只需解析一下即可:

 var d = document.createElement('div');
 d.innerHTML = "check & ' \"";
 console.log(d.innerText);//all done

创建一个元素(在内存中,它不会显示),并使用innerText属性,这将返回等效的文本(即,将所有html-entity转换为它们各自的字符)。

读这个

附带说明: /["]/g永远无法工作的原因是因为您正在创建字符类/组:它将匹配组中的任何1个字符,而不是整个字符串:

d.innerHTML.replace(/["]/g,'@');//"check @amp@ ' \""
d.innerHTML.replace(/(")/g,'@');//"check & ' \""

在正则表达式中, []表示“以下任何字符”。 这样, /[\]/g将匹配&中, # ,一个9 ,一个2;

不使用[]尝试一下。

var name = "check & ' \"";
alert(name);
alert(name.replace(/"/g, "\""));
alert(name.replace(/\/g, "\""));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM