js的replace只能替换第一个,请问大家都是怎么些替换全部的,RegExp的方式替换类似"("的时候就出错了,有没有优雅一点的写法?
String.prototype.replaceAll = function (FindText, RepText) {
regExp = new RegExp(FindText, "gm");
return this.replace(regExp, RepText);
}
// 开始测试
var s = "abcdefabcedf(123)";
console.log(s.replaceAll("b", "B")); // 正常
console.log(s.replaceAll("(", "[")); // 挂了。。。
/*
Uncaught SyntaxError: Invalid regular expression: /(/: Unterminated group
at new RegExp (<anonymous>)
at String.replaceAll (<anonymous>:2:11)
at <anonymous>:7:15
*/
总觉得js的一些语言基础功能用起来蛋疼的不行。。。
这样就行了,就是不知道效率怎么样: