不用正則實現js中replace全域性替換的功能

2021-07-16 17:05:37 字數 606 閱讀 4118

1.我們替換,一般用下面方法:『qwew』.replace(/w/g, '@')這種方法,很方便

2.問題是萬一我們要替換的內容中含有特殊字元,如『)』,這種情況下,我們就必須將')'進行轉義,即『qw)ew)』.replace(/w\\)/g, '@')

3.還有些具體的情況下,如我們要替換的內容是可變的且含有特殊字元,那麼我們用2的方法就顯得很麻煩了或者根本解決不了,具體情況如下:

var data = 'w/::)e/::)r';//使用者隨機輸入的內容

var face= [//使用者可選的表情符號

['微笑', '/::)'],

['撇嘴', '/::~'],

['色', '/::b'],

['發呆', '/::|'],

['得意', '/:8-)'],

['流淚', '/::<'],

['害羞', '/::$']

我們可以通過substr方法來代替replace方法,且不需要考慮特殊字元轉義得情況,

解決過程如下:

for(var j=0; jwhile(data.indexof(face[j][1])+1)

}console.log(data);//替換後的結果

js中的正則

正規表示式主體 修飾符 可選,搜尋不區分大小寫 js中,正規表示式常用於search 和replace 這兩個字串方法。search 用於檢索字串中指定的子字串,或檢索與正規表示式相匹配的子字串,並返回子串的起始位置。搜尋字串 runoob 並顯示匹配的起始位置 p myfunction 點我 bu...

js使用正則實現ReplaceAll全部替換

例 在js中replaceall 會報錯,因為js中沒提供replaceall的方法。使用以下三種方法實現全部替換 1 url.replace g,g 的意義是 執行全域性匹配 查詢所有匹配而非在找到第乙個匹配後停止 2 url.replace newregexp gm g 執行全域性匹配 查詢所有...

JS實現郵箱驗證(正則表達)

oninput 事件在使用者輸入時觸發。該事件類似於 onchange 事件。不同之處在於 oninput 事件在元素值發生變化是立即觸發,onchange 在元素失去焦點時觸發。另外一點不同是 onchange 事件也可以作用於 和 元素。test 方法用於檢測乙個字串是否匹配某個模式,如果字串中...