如何使用正则表达式在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. PHP:验证美国电话号码
- 3. 国际电话号码验证与RegEx
- 4. 电话号码验证码
- 5. 验证为电话号码
- 6. javascript验证电话号码
- 7. 电话号码验证
- 8. RegEx电话号码验证
- 9. Javascript电话号码验证
- 10. 电话号码验证?
- 11. 电话号码验证
- 12. Javascript电话号码验证
- 13. jQuery验证电话号码
- 14. 正在验证美国电话号码w /地区代码
- 15. 根据国家代码验证电话号码
- 16. 是否有任何规则英国电话号码和邮政编码验证在jquery验证 - 1.15.0
- 17. 英国和美国电话的电话号码正则表达式
- 18. 使用REGEXMATCH验证国际电话号码
- 19. 正则表达式美国电话号码验证
- 20. JQuery验证:Regexing非美国电话号码
- 21. 正则表达式来验证美国电话号码?
- 22. 验证美国格式的电话号码
- 23. 国际电话号码验证与空白
- 24. 正则表达式验证美国电话号码的格式
- 25. 验证美国的电话号码存在
- 26. 国际电话号码
- 27. javascript表单验证电话号码
- 28. 电话号码没有得到验证
- 29. 电话号码格式和验证库
- 30. Codeigniter中的电话号码验证
到这个答案的顶部! – 2011-12-12 13:18:48