正則處理手機號碼格式


正則生成形如xxx xxxx xxxx格式的手機號碼(中間數字自動追加空格):

監聽輸入事件,對輸入的值用正則處理:

1.過濾輸入的字符,去掉非數字

var a = '13177wsdrfs778888sdfasdf999asdfasdfasdf9'
a.replace(/\D+/g, '')  

// => 131777788889999

2.控制輸入字符的位數(手機號位數為11位)

var a = '131777788889999'
a.replace(/(\d{1,11})(\d*)/, ($, $1)=>$1)

//=> 13177778888

3.以xxx xxxx xxxx的格式處理字符串

var a = '13177778888'
a.replace(/(\d{3})(\d*)/, ($, $1, $2)=> $1 + ' ' + $2.replace(/\d{4}|\d+/g, $=> $ + ' ').trim()).trim()

// => 131 7777 8888

 

第三步稍微復雜一點,$1匹配的前三位數字,單獨拿出來處理(后面加個空格),$2是后8位字符,每隔4位追加空格,最后用trim()去掉最后的空格

 

最后將以上3步合在一起:

var a = '13177wsdrfs778888sdfasdf999asdfasdfasdf9';
a.replace(/\D+/g, '')
  .replace(/(\d{1,11})(\d*)/, ($, $1) => $1)
  .replace(/(\d{3})(\d*)/, ($, $1, $2) => $1 + ' ' + $2.replace(/\d{4}|\d+/g, $ => $ + ' ').trim()).trim()

// => 131 7777 8888

 

腳踏實地行,海闊天空飛

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM