解決js中replaceAll瀏覽器不兼容問題

今天在做項(xiàng)目的時候,出現(xiàn)了有些用戶的瀏覽器使用replaceAll方法報錯問題,上網(wǎng)查了才知道,一些舊版瀏覽器對一些js方法比如這個replaceAll方法不是很兼容,會出現(xiàn)js報錯問題。
如果要全部替換的話,瀏覽器又不支持replaceAll這樣的方法,那可以換成了使用正則表可以達(dá)成ReplaceAll 的效果:

str.replace(/word/g,"Excel");
g 的意義是:執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。

var str = "wordwordwordword";
var strNew = str.replace(/word/g,"Excel")
strNew = replaceAll(str);

還有一種方式:

str.replace(new RegExp("word","gm"),"Excel")
g 執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。
m 執(zhí)行多行匹配。

str.replace(new RegExp("word","gm"),"Excel")

除此之外,也可以添加 Stirng對象的原型方法:

String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"),s2);
}
這樣就可以像使用replace 方法一樣使用replaceAll了

str.replaceAll("word","Excel");
總結(jié)一下, 三種方式:
  1. str.replace(/oldString/g,newString)
  2. str.replace(new RegExp(oldString,"gm"),newString)
  3. 增加String 對象原型方法 replaceAll

參考來源:
js使用正則實(shí)現(xiàn)ReplaceAll全部替換的方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JS 字符串替換操作有replace() 方法。但是這個方法有些問題,就是只能替換目標(biāo)字符串中第一個匹配的字符串。...
    jooner閱讀 4,132評論 0 48
  • 100個常用的javascript函數(shù) 1、原生JavaScript實(shí)現(xiàn)字符串長度截取 復(fù)制代碼代碼如下: fun...
    老頭子_d0ec閱讀 410評論 0 0
  • 前言 最先接觸編程的知識是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識,c語言,java語言,單片機(jī)的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,395評論 0 7
  • 正則基礎(chǔ) 常見簡寫形式 量詞 修飾符 匹配位置 匹配開頭與結(jié)尾 /^|$/g: 匹配列 /^|$/gm: 匹配行,...
    roastwind閱讀 329評論 0 1
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)、焦點(diǎn)、注意力、語言聯(lián)想、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會...
    Jenaral閱讀 5,978評論 0 5

友情鏈接更多精彩內(nèi)容