版权声明:本文为博主原创文章,转载请注明出处。 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, ""))