c# – 验证英国电话号码
如何使用正则表达式在C#中验证英国电话号码?
解决方法
接受的答案中的正则表达式与所有有效的UK号码都不匹配,因为它太过限制(同时打开了额外的数字范围,例如0203,它认为无效).
英国电话号码遵循相当简单的规则: >它们可以是10或11位长(除了一些特殊数字,但你不太可能需要验证那些) 因此,英国电话号码的基本工作表达式可能如下所示: /^(?0( *d)?){9,10}$/ 这将检查10或11位数字,从零开始,在任何数字之间有格式空格,并且可选地检查区域代码的一组括号. (是的,这会允许不匹配的括号,因为我没有检查是否只有一个结束括号.强制执行此操作会使表达更加复杂,我现在没时间做这个,但感觉如果你愿意可以自由添加这个) 顺便说一下,如果您想要进行其他过滤,您可能还需要注意以下规则: >从08,09和070开始的号码是特殊价格号码,通常不会作为私人号码给出,因此如果验证私人号码可以排除.> 07号码是移动的(070除外;见上文),如果你专门验证固定电话,可以排除. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |