【发布时间】:2013-04-30 14:07:42
【问题描述】:
我需要一个只验证英国手机号码的正则表达式。
英国手机号码可以介于10-14 数字之间,并且可以以07 开头,或者省略0 并以447 开头。
重要的是,如果用户添加了+44,它应该被拒绝。
所以这些都是有效的:
07111111111
447111111111
这些将是无效的:
+4471111111111
021929182711
00701029182
到目前为止我所拥有的:
rule = re.compile(r'^\+?(44)?(0|7)\d{9,13}$')
if not rule.search(value):
msg = u"Invalid mobile number."
raise ValidationError(msg)
这还没有根据我的规则验证;有人可以帮忙吗?
【问题讨论】:
-
这篇 StackOverflow 帖子可能会有所帮助:stackoverflow.com/questions/6582309/…
-
@user2246087 看起来这是他/她想要验证的英国号码的子集。从这个意义上说,这不是完全重复的。
-
@BlackVegetable 我不是说它是重复的,提到它以供参考。