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

 

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);  
    }  
} 

//补充,另一种简化的写法
var str = "dddd-dsss"
//替换中间的“-”,写法如下:
var newStr = str.replace(new RegExp('-', 'gm'), '');

结果:

javascript怎么替换所有字符串
方法二:

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

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

结果:

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

//替换json换行符操作
JSON.parse(myJson.replace(/\n/g, ""))
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。