js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)

时间:2022-06-18 16:21:16

核心代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script>
String.prototype.html = function(encode) {
    var replace =["&#39;", "'", "&quot;", '"', "&nbsp;", " ", "&gt;", ">", "&lt;", "<", "&yen;", "¥", "&amp;", "&"];   
    var replaceReverse = ["&", "&amp;", "¥", "&yen;", "<", "&lt;", ">", "&gt;", " ", "&nbsp;", '"', "&quot;", "'", "&#39;"];
      var target;
      if (encode) {
        target = replaceReverse;
      } else {
        target = replace;
      }
    for (var i=0,str=this;i< target.length;i+= 2) {
       str=str.replace(new RegExp(target[i],'g'),target[i+1]);
    }
    return str;
  };
 
console.log("<div>服务器之家</div>".html(true));
</script>

效果图

js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)

其中for循环大家可以看下用法

for (var i=0,str=this;i< target.length;i+= 2) {
str=str.replace(new RegExp(target[i],'g'),target[i+1]);
}

这个用法确实不错,有get了一个新技能。