亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式驗證電話號碼擴展

正則表達式驗證電話號碼擴展

至尊寶的傳說 2021-12-12 10:37:52
我需要驗證電話號碼 (TN) 分機(僅限分機)。擴展名可以是 3-6 位長度和 3 位擴展名,不應跟隨 11。是的,擴展名不應包含特殊字符和全零。例如:911、311等,我們已經寫了下面的一個。(?!0+$)[0-9](?!.*11).[0-9]*$上面的問題是對于 311、211 --> 驗證通過。對于 38311, 2311 --> 那些是 4 位和 5 位長度擴展,可以后綴為“11”。但是上面的模式是不允許的。我怎樣才能做到這一點?
查看完整描述

2 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

你可以使用:

(?!^((0+)|(\d11))$)(?=^\d{3,6}$).*
  • (?!^((0+)|(\d11))$) - 從頭到尾確保它不是全零,也不是數字后跟 11

  • (?=^\d{3,6}$) - 從頭到尾確保我們處理的是 3 到 6 位數字

  • .* - 如果之前的驗證通過,那么可以安全地獲取所有內容

https://regex101.com/r/eIVvvX/1


查看完整回答
反對 回復 2021-12-12
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

對于檢查非零,您可以簡單地使用>運算符,對于其余規則,您可以使用此模式

http://img1.sycdn.imooc.com//61b560a70001e07d08170221.jpg

let data = ['911','311','38311','2311','000000','123111', '112']


data.forEach(v=>{

  console.log(v, '\t' , v > 0 && /^(?:(?:(?!11$)\d){3}|\d{4,6})$/.test(v)) 

})


要檢查非零,您也可以使用正則表達式,但我個人更喜歡上述方法


^(?!^0+$)(?:(?:(?!11$)\d){3}|\d{4,6})$


查看完整回答
反對 回復 2021-12-12
  • 2 回答
  • 0 關注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號