小編給大家分享一下JavaScript中替換所有匹配內(nèi)容及正則替換如何實(shí)現(xiàn),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
目前成都創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、相山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
由于JavaScript 的 replace 只能替換一次,因此另外編寫(xiě)一個(gè)能現(xiàn)替換全部匹配內(nèi)容方法,代碼如下:
/* 把 content 中所有的 searchValue 替換為 replaceValue */ function replaceAll(content,searchValue,replaceValue){ while (content.indexOf(searchValue)>-1) { content = content.replace(searchValue,replaceValue); } return content; }
為什么不使用正側(cè)表達(dá)式來(lái)替換?
因?yàn)閷?shí)際操作中發(fā)現(xiàn) searchValue 的內(nèi)容太大的時(shí)候使用正側(cè)表達(dá)式替換會(huì)出錯(cuò)
我的場(chǎng)景是把 html 頁(yè)面 img 中的base64 xxx1,base64 xxx2 圖片內(nèi)容替換為 [image1][image2] 這樣的占位符時(shí),如果使用正則表達(dá)式就出錯(cuò)
附上一般情況下使用正則表達(dá)式的替換方法
content.replace(new RegExp(searchValue,'g'),replaceValue)
看完了這篇文章,相信你對(duì)“JavaScript中替換所有匹配內(nèi)容及正則替換如何實(shí)現(xiàn)”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!