javascript对HTML字符转义与反转义
程序员文章站
2022-06-15 18:52:23
1.背景:在项目中,经常遇到一些字符需要进行转义后才能显示到界面上,如“&”,在界面中显示的是“&”,在html中书写“&”,显示在界面的中的依然是“&am...
1.背景:在项目中,经常遇到一些字符需要进行转义后才能显示到界面上,如“&”,在界面中显示的是“&”,在html中书写“&”,显示在界面的中的依然是“&”。
这时候,就需要进行转义
2.解决方案
<script> var htmlutil = { /*1.用浏览器内部转换器实现html转码*/ htmlencode:function (html){ //1.首先动态创建一个容器标签元素,如div var temp = document.createelement ("div"); //2.然后将要转换的字符串设置为这个元素的innertext(ie支持)或者textcontent(火狐,google支持) (temp.textcontent != undefined ) ? (temp.textcontent = html) : (temp.innertext = html); //3.最后返回这个元素的innerhtml,即得到经过html编码转换的字符串了 var output = temp.innerhtml; temp = null; return output; }, /*2.用浏览器内部转换器实现html解码*/ htmldecode:function (text){ //1.首先动态创建一个容器标签元素,如div var temp = document.createelement("div"); //2.然后将要转换的字符串设置为这个元素的innerhtml(ie,火狐,google都支持) temp.innerhtml = text; //3.最后返回这个元素的innertext(ie支持)或者textcontent(火狐,google支持),即得到经过html解码的字符串了。 var output = temp.innertext || temp.textcontent; temp = null; return output; }, /*3.用正则表达式实现html转码*/ htmlencodebyregexp:function (str){ var s = ""; if(str.length == 0) return ""; s = str.replace(/&/g,"&"); s = s.replace(/</g,"<"); s = s.replace(/>/g,">"); s = s.replace(/ /g," "); s = s.replace(/\'/g,"'"); s = s.replace(/\"/g,"""); return s; }, /*4.用正则表达式实现html解码*/ htmldecodebyregexp:function (str){ var s = ""; if(str.length == 0) return ""; s = str.replace(/&/g,"&"); s = s.replace(/</g,"<"); s = s.replace(/>/g,">"); s = s.replace(/ /g," "); s = s.replace(/'/g,"\'"); s = s.replace(/"/g,"\""); return s; } }; </script>
使用方法:htmlutil.htmldecodebyregexp("&")
ps:使用正则
使用正则转码:
var value = document.getelementbyid('input').value.trim(); //对用户输入进行转义 value = value.replace(/&/g,"&"); value = value.replace(/</g,"<"); value = value.replace(/>/g,">"); value = value.replace(/ /g," "); value = value.replace(/"/g,'"');
使用正则解码:
var value = e.target.innertext; // value = decodeuricomponent(value); value = value.replace(/&/g,"&"); value = value.replace(/</g,"<"); value = value.replace(/>/g,">"); value = value.replace(/ /g," "); value = value.replace(/"/g,"'");
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
Python对HTML转义字符进行反转义的实现方法
-
js对HTML字符转义与反转义
-
javascript对HTML字符转义与反转义
-
使用Js让Html中特殊字符不被转义_javascript技巧
-
jquery ajax对特殊字符进行转义防止js注入使用示例_html/css_WEB-ITnose
-
jquery ajax对特殊字符进行转义防止js注入使用示例_html/css_WEB-ITnose
-
转义字符()对JavaScript中JSON.parse的影响概述_基础知识
-
使用Js让Html中特殊字符不被转义_javascript技巧
-
转义字符()对JavaScript中JSON.parse的影响概述_基础知识
-
js对HTML字符转义与反转义