RegEx For Uk电话号码+44(0)

时间:2014-11-21 12:30:34

标签: regex

我试图验证英国电话号码,

我正在使用这个正则表达式:

   ^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$

这与几乎可能的数字匹配很好,但这些不匹配:

+44(0)7518 123 456或+44(0)7518123456

任何人都知道如何修改它来实现它吗?

问候!

2 个答案:

答案 0 :(得分:0)

你可以简化这一点。查看此regex101以查看它是否符合您的需求: http://regex101.com/r/xP6lE7/1

^(\+?44)?(\(\d+\))?[\d ]+(#\d+)?$

答案 1 :(得分:0)

这匹配所有边缘情况:

^(\+?44)?(?=(.*?\d){10,})( ?\(\d+\))?[ \d]+(#\d+)?$

前瞻断言至少有10位不包括国家前缀。

请参阅demo,了解您提到的所有边缘情况。