1.正則表達(dá)式去除數(shù)字以外的其它字符
let D = /\D/
let newText = '234sdf78sdf2 sdfwer7'
while (D.test(newText)) newText = newText.replace(D,'')
這里其實(shí)只用到了正則里面的一個(gè)“\D”儡炼,在正則語(yǔ)法里面“\d”表示所有數(shù)字,“\D”則表示除了數(shù)字的其它所有字符轨功。
"\D" :表示除了數(shù)字的其它所有字符
那么為什么會(huì)用到while循環(huán)呢岔冀?
那就是因?yàn)樵谧址杏卸喾N不同的字符時(shí)使用 “newText.replace(D,'')”只會(huì)對(duì)字符串匹配一次塞琼,就會(huì)出現(xiàn)去除不全的情況止喷,所以需要循環(huán)判斷一下洽胶。
2.正則表達(dá)式每四們數(shù)字添加一個(gè)空格
let newText = '12345678900987654321'
let s = /(\d{4})(?=\d)/
while (s.test(newText)) newText = newText.replace(s,'$1 ').trim()
正則語(yǔ)法:
"\d":表示所有數(shù)字
"{4}":表示前面表達(dá)式有四位
"$1":表示正則表達(dá)式中第一個(gè)括號(hào)所匹配的內(nèi)容。注:"$1"后面有一個(gè)空格不是很明顯要注意
"?=":前瞻佳镜,這里有一篇前瞻的文章幫助理解
"trim()":去除字符串頭尾的空格
使用while循環(huán)的作用與1一樣僚稿,只會(huì)對(duì)字符串進(jìn)行一次匹配,所以使用循環(huán)蟀伸。