String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); //g全局 } String.prototype.replaceAll2Excep = function(s1, s2) { var temp = this; while (temp.indexOf(s1) != -1) { temp = temp.replace(s1, s2); } return temp; } alert("abcedaaabs".replaceAll("a", "A")); alert("abcedaaabs".replaceAll2Excep ("a", "A"));
?
1 楼
chunchong
2011-10-18
如果s1中有([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])第一种方法会出问题,从别人那看到如下处理
String.prototype.replaceAll = function(AFindText, ARepText) {
var raRegExp = new RegExp(AFindText.replace(
/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g, "\\$1"), "ig");
return this.replace(raRegExp, ARepText);
}
String.prototype.replaceAll = function(AFindText, ARepText) {
var raRegExp = new RegExp(AFindText.replace(
/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g, "\\$1"), "ig");
return this.replace(raRegExp, ARepText);
}