正确无错的函数:

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("$","¥");

 

要转就转上面这个函数,免得误人子弟。