如何使用正則表達式在C#中驗證英國電話號碼?驗證英國電話號碼
Q
驗證英國電話號碼
6
A
回答
28
已接受答案中的正則表達式與所有有效的英國數字都不匹配,因爲它的限制太多(同時打開了其他數字範圍,例如0203,它被視爲無效)。
英國電話號碼遵循相當簡單的規則:
它們可以是10個或11位數字(一些特殊號碼的例外,但你不可能需要驗證的)
它們由一個區號後跟一個本地號碼組成。地區代碼的長度在三到五位數字之間變化,數字的本地部分佔用10或11位數字的剩餘長度。出於所有實際目的,沒有人會引用他們的本地部分號碼,因此您可以忽略現在的區別,除了它如何影響格式。
它們從零開始。
第二個數字可以是任何東西。目前沒有有效的數字從
04
或06
開始,但是沒有什麼能阻止這些範圍在將來被使用。 (03
最近已投入使用)它們可以用一組括號和空格(一個或多個,位置不同)格式化,但這些都是完全可選的。
因此,英國的電話號碼,一個基本的工作表現看起來是這樣的:
/^\(?0(*\d\)?){9,10}$/
這將檢查10個或11位數字,從零,與任何與格式空間數字以及區域代碼的一組括號。
(是的,這將允許不匹配的括號,因爲我沒有檢查只有一個右括號,強制執行這將使表達式變得更加複雜,而且我沒有時間去處理這個權利現在,反而覺得免費的,如果你想添加這個)
順便說一句,如果你想要做額外的過濾,你可能想也應注意以下原則:
號開始
08
,09
和070
是特殊價格數字,通常不會以私人數字的形式給出,所以如果驗證私人號碼可以被排除。07
號碼是移動號碼(除了070
;請參閱上面的內容),因此如果您正在驗證固定電話,可以排除此號碼。
相關問題
- 1. 英國家庭和移動電話號碼驗證
- 2. 在wtfforms驗證美國電話號碼
- 3. 國際電話號碼驗證與RegEx
- 4. PHP:驗證美國電話號碼
- 5. 電話號碼驗證碼
- 6. 在Angular 4中驗證電話號碼和國家代碼組合以獲取電話號碼驗證?
- 7. RegEx電話號碼驗證
- 8. 電話號碼驗證
- 9. jQuery驗證電話號碼
- 10. 驗證電話號碼
- 11. 驗證電話號碼
- 12. jquery驗證電話號碼
- 13. Android電話號碼驗證
- 14. Javascript電話號碼驗證
- 15. 電話號碼驗證
- 16. Javascript電話號碼驗證
- 17. javascript驗證電話號碼
- 18. 電話號碼驗證?
- 19. yii2電話號碼驗證?
- 20. cakephp電話號碼驗證
- 21. 驗證電話號碼
- 22. 電話號碼驗證PHP
- 23. 驗證電話號碼
- 24. 電話號碼驗證Angularjs
- 25. 驗證爲電話號碼
- 26. 英國郵編驗證碼
- 27. 正在驗證美國電話號碼w /地區代碼
- 28. 根據國家代碼驗證電話號碼
- 29. 是否有任何規則英國電話號碼和郵政編碼驗證在jquery驗證 - 1.15.0
- 30. 英國和美國電話的電話號碼正則表達式
到這個答案的頂部! – 2011-12-12 13:18:48