在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js 字符串替換全部

js 字符串替換全部

js的replace只能替換第一個,請問大家都是怎么些替換全部的,RegExp的方式替換類似"("的時候就出錯了,有沒有優(yōu)雅一點的寫法?

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的一些語言基礎(chǔ)功能用起來蛋疼的不行。。。

回答
編輯回答
命于你

替換全部,就是用正則表達(dá)式的 加上全局 g的標(biāo)示, 對于 " 和 ' 是需要轉(zhuǎn)義的 \" 和 \'

2018年3月8日 17:58
編輯回答
不歸路

這樣就行了,就是不知道效率怎么樣:

String.prototype.replaceAll = function (FindText, RepText) { 
    return this.split(FindText).join(RepText); 
}
2017年5月30日 12:47