常规用法:
var test = "a,b,c,d";
test = test.replace(",","-");
输出:“a-b,c,d”;
replace默认替换的是第一个。
全部替换调用方法:
test = test.replace(/\,/g,"-");
简单讲就是/和/g中间的部分是需要替换的,而且不带双引号。
输出:“a-b-c-d”;
但是现实使用中会存在需要替换的数据是动态拼接的:
var test = "top";
for(int i = 0;i<10;i++){
var str= "demaxiya"+i;
test += str;
}
test +="end";
需要把"demaxiya"+i动态替换为"demaxiyaMC",这个时候,上面的方法就不行了
for(int i = 0;i<10;i++){
var reg = "/"+"demaxiya"+i+"/g";
test = test.replace(eval(reg),"demaxiyaMC");
}
需要把reg转对象一下才可以。但是为什么呢? 希望前端大神评论下