3 回答
TA贡献1966条经验 获得超4个赞
String.replaceall=function (oldstr,newstr){ var oldlength =this.length; var ret =this.replace(oldstr,newstr); if(ret.length<oldlength) return ret.replaceall(oldstr,newstr); returnt ret; } 使用方法: var teststr ="asdfasdfasdfasdfasdfasdfasdfasdfasdf"; alert(teststr.replaceall("as","df"));
TA贡献1820条经验 获得超2个赞
由于js中没有类似replaceAll函数。
可以使用 正则表达式的全局查找功能 进行替换。
1234 | var s= "alsjfdialsdjflkjasldf" ; // 源字符串 var p=/a/g; // 正则表达式,匹配字符a,其中g为全局查找标记。若 var p=/a/; 只能替换第一个a。 var v=s.replace(p, "" ); //替换。也可直接 s.replace(/a/g,""); alert(v); |
TA贡献1873条经验 获得超9个赞
js提供一个replace方法,replace(目标字符串, 替换的字符串)
1、一般常用的,替换字符串中的"?"
var result = "abcd?efg".replace("?","");//abcdefg
console.log(result);
2、跟1比较,发现只能替换一次,一般建议用循环进行多次替换
var result2 = "abcd?efg?hijk?lmn".replace("?","");//abcdefg?hijk?lmn
console.log(result2);
3、使用正则表达式进行替换
var reg = /\?/g;//创建正则,表示替换全局替换"?"
var result3 = "abcd?efg?hijk?lmn".replace(/\?/g,"");//abcdefghijklmn
console.log(result3);
补充:
正则格式:/pattern/标识符,如/\?/g,
因为?是特殊字符,需要\进行转义,然后g标识全局查找,如果不写这个,就不会进行全局替换
添加回答
举报