js中替换所有字符串的2种解决办法

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u014204541/article/details/86605075

js本身不提供replaceAll()方法的,所以要替换所有字符串需要自己写一个这样的方法,总结了网上几种写法如下:
方法一:

<script type="text/javascript">
//创建replaceAll()函数
 String.prototype.replaceAll = function (FindText, RepText) {
          return this.replace(new RegExp(FindText, "g"), RepText);
        }
        var str = "shingfkhshsnf";
        //用法,把所有n替换成w
        str= str.replaceAll("n","w")
         document.write(str)
  </script> 

replaceAll的另一种写法,其实都差不多

//replaceAll的另一种写法,其实都差不多
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {  
    if (!RegExp.prototype.isPrototypeOf(reallyDo)) {  
        return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);  
    } else {  
        return this.replace(reallyDo, replaceWith);  
    }  
} 

结果:
在这里插入图片描述
方法二:

<script type="text/javascript">
//替换格式如下
//str.replace(/需要替换的字符串/g,"新字符串");

var str = "shingfkhshsnf";
 //用法,把所有n替换成w
 str= str.replace(/n/g,"w");
 document.write(str)
   </script>

结果:
在这里插入图片描述
场景:
有一个很重要的场景会用到这个替换功能,那就是在实际开发中,后台返回的json字符串需要转化成json,但是直接转化会有失败的情况,原因是有些中文的字符串里有换行符,必须把换行符替换了才能格式化成功,格式化之前可以复制代码去网上在线json格式化工具校验试试就知道了
如下:

//替换json换行符操作
JSON.parse(myJson.replace(/\n/g, ""))

猜你喜欢

转载自blog.csdn.net/u014204541/article/details/86605075