1.背景:在项目中,经常遇到一些字符需要进行转义后才能显示到界面上,如"",在界面中显示的是"",在超文本标记语言中书写"",显示在界面的中的依然是""。
这时候,就需要进行转义
2.解决方案
scriptvar HtmlUtil={ /*1 .用浏览器内部转换器实现超文本标记语言转码*/HTMlenCode : FuncTion(html){//1 .首先动态创建一个容器标签元素,如DIV变量temp=文档。创建元素(' DIV ');//2.然后将要转换的字符串设置为这个元素的内部文本(即支持)或者文本内容(火狐,谷歌支持)(temp.textContent!=未定义)?(温度。TextContent=html):(temp。innerText=html);//3.最后返回这个元素的innerHTML,即得到经过超文本标记语言编码转换的字符串了定义变量输出=temp.innerHTMLtemp=null返回输出;}, /*2.用浏览器内部转换器实现超文本标记语言解码*/html decode :函数(文本){//1 .首先动态创建一个容器标签元素,如DIV变量temp=文档。创建元素(' DIV ');//2.然后将要转换的字符串设置为这个元素的innerHTML(即,火狐,谷歌都支持)temp.innerHTML=text//3。最后返回这个元素的内部文本(即支持)或者文本内容(火狐,谷歌支持),即得到经过超文本标记语言解码的字符串了var输出=温度。innertext | | temp。textcontenttemp=null返回输出;}, /*3.用正则表达式实现超文本标记语言转码*/htmlencodebergexp :函数(str){ var s=' ';if(str.length==0)返回"";s=str。替换(///g ' ');s=s . replace(//g ' ');s=s . replace(//g ' ');s=s . replace(//g ' ');s=s . replace(/ '/g ' ');s=s . replace(/ '/g ' ');返回s;}, /*4.用正则表达式实现超文本标记语言解码*/htmldecodebyregex :函数(str){ var s=' ';if(str.length==0)返回"";s=str。替换(///g ' ');s=s . replace(//g ' ');s=s . replace(//g ' ');s=s . replace(//g ' ');s=s.replace(/'/g ', ' ');s=s.replace(/'/g ', ' ');返回s;} };/script使用方法:HtmlUtil.htmlDecodeByRegExp(' ')
PS:使用正则
使用正则转码:
var值=文档。getelementbyid(' input ')。价值。trim();//对用户输入进行转义值=值。替换(///g ' ');值=值。替换(///g ' ');值=值。替换(///g ' ');值=值。替换(///g ' ');值=值。替换(/'/g ' ');使用正则解码:
定义变量值=e .目标。innertext//value=decodeURIComponent(值);值=值。替换(///g ' ');值=值。替换(///g ' ');值=值。替换(///g ' ');值=值。替换(///g ' ');值=值。替换(///quot/g," ');以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。