先前要写一段js脚本,将html中的指定字符替换成其它字符,如果直接用js的str.replace(),只会替换第一个出现的字符,于是写了比较粗糙能替换全部指定字符的版本:
function strReplace(search, replace, str) {
var tmp = str;
do {
str = tmp;
tmp = str.replace(search, replace);
}while (str != tmp);
return str;
}
这个脚本看上去不是太爽,效率估计很勉强,于是google了一下,原来有更好的版本:
//俺主要是为了适应php的str_replace()啊
function strReplace(search, replace, str) {
var regex = new RegExp(search, "g");
return str.replace(regex, replace);
}
或者oo一点的写法
String.prototype.replaceAll = function(search, replace){
var regex = new RegExp(search, "g");
return this.replace(regex, replace);
}
测试一下:
var str = 'cccaaacccaaacccaaacccaaacccaaa';
alert(str.replaceAll('aaa', 'testIt'));
呵呵,一切ok