有關正則表達式的Js方法(replace)

整理一下最近經常使用的幾個有關正則的js方法

replace

語法:stringObject.replace(regexp/substr,replacement)

用法1 const str='abc1314520def'; str.replace(/\D/g,'');/*\D非數字,g全局匹配,每一個地方都匹配一次*/ 結果: '1314520' 用法2: str.replace('abc','');/*直接用字符串匹配*/ 結果: '1314520def' 用法3: str.replace(/\D/g,function(rs){return rs.toUpperCase()}) 結果: 'ABC1314520DEF'
/*第二個參數可傳入函數,會對每一個匹配到的字符串'rs'作一次處理,而後你能夠將結果return 出來*/ 進階用法:將網址查詢的search部分轉化爲鍵值對(就是url問號後面的東西) function parseURL(url=window.location.href){/*es6語法直接設置默認值*/   const search = url.substr(url.indexOf('?')+1);   const obj={};   search.replace(/([^&=]+)=([^&=]*)/g,function(rs,$1,$2){     obj[decodeURIComponent($1)]=decodeURIComponent($2)   })   return obj } $1——$99就是匹配第1到第99個子表達式的文本,表達式1:'([^&=]+)',表達式2:'([^&=]*)'等等*/
/*這裏咱們沒有用到rs 只是爲了佔位而已,由於第一個參數默認爲rs*/
相關文章
相關標籤/搜索