javascript replaceAll

默认的replace只能替换第一个匹配的值,要想替换所有的需要自己写扩展了,以下是网络搜索到的

function replaceAll(s1,s2,s3){
var r = new RegExp(s2.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g,"\\$1"),"ig");
return s1.replace(r,s3);
}

使用方法:var a = replaceAll("你有$100.99吗?","$","¥");

 

也可以:

String.prototype.replaceAll = function(s1,s2){   

var r = new RegExp(s1.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g,"\\$1"),"ig");
return this.replace(r,s2);
}

使用方法:var a = "你有$100.99吗?".replaceAll("$","¥");

原文地址:https://www.cnblogs.com/wangjunwei/p/2440486.html