JavaScript實(shí)現(xiàn)的字符串replaceAll函數(shù)代碼分享
我們?cè)贘ava中可以使用replaceAll()方法對(duì)字符串進(jìn)行批量替換,但在JS中replaceAll()方法是undefined,JS中只存在replace()方法,因此我們可以自己封裝JS中replaceAll()方法供我們便捷使用。
一、使用replace()方法進(jìn)行替換
定義一個(gè)字符串:
var str = "hello world";
使用replace()方法將字符串中的字母"l"替換成"i",原始做法:
?console.log(str.replace("l","i"));輸出:
“heilo world”
需要執(zhí)行三次,非常不方便;
二、使用replaceAll()方法替換
封裝replaceAll()方法:
String.prototype.replaceAll = function(s1, s2) {
?? ?return this.replace(new RegExp(s1, "gm"), s2);
}定義一個(gè)字符串:
var str = "hello world";
使用replaceAll()方法進(jìn)行批量替換:
console.log(str.replaceAll("l", "i"));輸出:
“heiio worid”
只需要執(zhí)行一次,就完成了全部替換需求。
由于javascript中的replace函數(shù)無(wú)法替換全部匹配的字符串,所以需要為String類(lèi)增加一個(gè)方法,代碼如下:
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {??
??? if (!RegExp.prototype.isPrototypeOf(reallyDo)) {??
??????? return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);??
???? } else {??
??????? return this.replace(reallyDo, replaceWith);??
???? }??
}到此這篇關(guān)于JavaScript實(shí)現(xiàn)的字符串replaceAll函數(shù)代碼分享的文章就介紹到這了,更多相關(guān)JavaScript replaceAll函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- javascript中使用replaceAll()函數(shù)實(shí)現(xiàn)字符替換的方法
- Javascript中正則表達(dá)式的全局匹配模式分析
- Javascript中使用exec進(jìn)行正則表達(dá)式全局匹配時(shí)的注意事項(xiàng)
- javascript實(shí)現(xiàn)全局匹配并替換的方法
- java中replaceAll替換圓括號(hào)實(shí)例代碼
- Java中replace與replaceAll的區(qū)別與測(cè)試
- java字符串的替換replace、replaceAll、replaceFirst的區(qū)別說(shuō)明
- Java replaceAll()方法報(bào)錯(cuò)Illegal group reference的解決辦法
- String.replaceAll方法詳析(正則妙用)
- 淺談Java中replace與replaceAll區(qū)別
- Java中replace、replaceAll和replaceFirst函數(shù)的用法小結(jié)
- 淺談java中replace()和replaceAll()的區(qū)別
- jQuery中replaceAll()方法用法實(shí)例
- js使用正則實(shí)現(xiàn)ReplaceAll全部替換的方法
- js字符串替換所有的指定字符或文字(推薦replaceAll方法)
- JS中實(shí)現(xiàn)replaceAll的方法(實(shí)例代碼)
- js replace 與replaceall實(shí)例用法詳解
- Flex 字符串ReplaceAll使用說(shuō)明
- JavaScript中使用replace結(jié)合正則實(shí)現(xiàn)replaceAll的效果
相關(guān)文章
如何消除inline-block屬性帶來(lái)的標(biāo)簽間間隙
這篇文章主要介紹了如何消除inline-block屬性帶來(lái)的標(biāo)簽間間隙的相關(guān)資料,需要的朋友可以參考下2016-03-03
JavaScript中使用參數(shù)個(gè)數(shù)實(shí)現(xiàn)重載功能
這篇文章主要介紹了JavaScript中使用參數(shù)個(gè)數(shù)實(shí)現(xiàn)重載功能,需要的朋友可以參考下2017-09-09
JavaScript根據(jù)json生成html表格的示例代碼
這篇文章主要介紹了JavaScript根據(jù)json生成html表格的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
bootstrap table 數(shù)據(jù)表格行內(nèi)修改的實(shí)現(xiàn)代碼
這篇文章主要介紹了bootstrap table 數(shù)據(jù)表格行內(nèi)修改的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
js鎖屏解屏通過(guò)對(duì)$.ajax進(jìn)行封裝實(shí)現(xiàn)
js鎖屏解屏是通過(guò)對(duì)$.ajax進(jìn)行封裝實(shí)現(xiàn)的,需要的朋友可以參考下2014-07-07
js基于canvas實(shí)現(xiàn)時(shí)鐘組件
這篇文章主要介紹了js基于canvas實(shí)現(xiàn)時(shí)鐘組件的方法,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2021-02-02
JS實(shí)現(xiàn)的類(lèi)似微信聊天效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的類(lèi)似微信聊天效果,可實(shí)現(xiàn)模擬微信聊天效果的對(duì)話(huà)框信息傳輸,涉及javascript事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01
js對(duì)url進(jìn)行編碼解碼的三種方式總結(jié)
為一個(gè)字符串進(jìn)行URL編碼很容易,只需要調(diào)用encodeURI,傳入要編碼的字符串即可,而且實(shí)現(xiàn)的方法不止這一個(gè),下面這篇文章主要給大家介紹了關(guān)于js對(duì)url進(jìn)行編碼解碼的三種方式,需要的朋友可以參考下2023-02-02
JavaScript實(shí)現(xiàn)動(dòng)態(tài)高度過(guò)渡的3種方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)動(dòng)態(tài)高度過(guò)渡的3種方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01

