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

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

用于電話號碼驗證的全面正則表達式

用于電話號碼驗證的全面正則表達式

慕沐林林 2019-05-21 15:25:19
我正在嘗試整合一個全面的正則表達式來驗證電話號碼。理想情況下它會處理國際格式,但它必須處理美國格式,包括以下內容:1-234-567-89011-234-567-8901 x12341-234-567-8901 ext12341(234)567-89011.234.567.89011/234/567/890112345678901我將回答我目前的嘗試,但我希望有人能有更好的和/或更優雅的東西。用于電話號碼驗證的全面正則表達式
查看完整描述

4 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

更好的選擇......只需在輸入上刪除所有非數字字符(除了'x'和前導'+'符號),因為英國傾向于在被+44 (0) ...要求使用國際前綴時以非標準形式寫數字(在這種特定情況下,你應該(0)完全拋棄)。


然后,您最終得到如下值:


 12345678901

 12345678901x1234

 345678901x1234

 12344678901

 12345678901

 12345678901

 12345678901

 +4112345678

 +441234567890

然后當您顯示時,重新格式化您的心靈內容。例如


  1 (234) 567-8901

  1 (234) 567-8901 x1234


查看完整回答
反對 回復 2019-05-21
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

事實證明,至少在北美,有一種稱為NANP的規范。

您需要準確指定所需內容。什么是合法分隔符?空格,破折號和句號?不允許分隔符?可以混合分隔符(例如,+ 0.111-222.3333)嗎?如何處理擴展(例如,111-222-3333 x 44444)?特殊號碼怎么樣,比如911?區號是可選的還是必需的?

這是一個7位或10位數的正則表達式,允許擴展,分隔符是空格,短劃線或句點:

^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$


查看完整回答
反對 回復 2019-05-21
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

.*

如果用戶想要給你他的電話號碼,那么請相信他是正確的。如果他不想給你,然后強迫他輸入一個有效的號碼將把他送到競爭對手的網站或讓他輸入一個適合你的正則表達式的隨機字符串。我甚至可能想要查看優質性別性別的數量,然后輸入。


我還會將以下任何內容視為網站上的有效條目:


"123 456 7890 until 6pm, then 098 765 4321"  

"123 456 7890 or try my mobile on 098 765 4321"  

"ex-directory - mind your own business"


查看完整回答
反對 回復 2019-05-21
  • 4 回答
  • 0 關注
  • 1015 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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