有谁知道正则表达式来验证MSISDN格式的手机号码?

时间:2011-01-26 19:41:37

标签: python regex mobile phone-number

是否有人知道正则表达式来验证MSISDN格式的手机号码?

我查看了http://charlvn.blogspot.com/2010/06/msisdn-regular-expressions.html发布的解决方案,但我认为这不是一般解决方案。

我正在寻找可以验证任何MSISDN标准手机号码的验证正则表达式。 http://en.wikipedia.org/wiki/MSISDN

其次,我正在寻找检查有效MSISDN手机号码是否来自特定国家/地区的方法,例如“31628000000”是来自荷兰的号码,因为它以netnumber“31”开头。

我将在Python中实现验证部分。

提前致谢!

2 个答案:

答案 0 :(得分:11)

这应该做 - 我不确定你能得到多少通用:

/^[1-9][0-9]{10,14}$/

要检查属于特定国家/地区的号码,请修改模式以在国家/地区代码前加上,然后调整其余数字以匹配:

/^(873[1-9][0-9]{7,11}|91[1-9][0-9]{8,12})$/    #  India
/^46[1-9][0-9]{8,12}$/                          # Sweden

答案 1 :(得分:3)

  /^[1-9][0-9]{10,14}$/

最短的国际电话号码只有 7 位,例如+247 2468。

  /^[1-9]\d{6,14}$/