js对HTML字符转义与反转义

时间:2021-12-06 19:41:57

注意:

在编写html时,经常需要转义,才能正常显示在页面上。

并且,还可以防止xss。

解决方案:

一, 使用正则:

使用正则转码:

var value = document.getElementById('input').value.trim(); //对用户输入进行转义
        value = value.replace(/&/g,"&amp;"); value = value.replace(/</g,"&lt;"); value = value.replace(/>/g,"&gt;"); value = value.replace(/ /g,"&nbsp;");
        value = value.replace(/"/g,'&quot;');

使用正则解码:

var value = e.target.innerText; // value = decodeURIComponent(value);
         value = value.replace(/&amp;/g,"&"); value = value.replace(/&lt;/g,"<"); value = value.replace(/&gt;/g,">"); value = value.replace(/&nbsp;/g," "); value = value.replace(/&quot/g,"'");

 

方法二:使用浏览器自带的。详情异步:https://www.cnblogs.com/GumpYan/p/7883133.html