【问题标题】:Does anyone know a regular expression to validate MSISDN-format mobile numbers?有人知道验证 MSISDN 格式手机号码的正则表达式吗?
【发布时间】:2011-01-26 19:41:37
【问题描述】:

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

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

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

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

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

提前致谢!

【问题讨论】:

  • 您引用的帖子中的解决方案如何不是通用的?什么是“通用”?
  • 也许我们可以做一个很棒的数据库?:spreadsheets.google.com/…

标签: python regex mobile phone-number


【解决方案1】:

这应该可以——我不确定你能得到多少通用性:

/^[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

【讨论】:

    【解决方案2】:
      /^[1-9][0-9]{10,14}$/
    

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

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

    【讨论】:

    • 抱歉,您是从哪里得到这个国际电话号码的?是哪个国家的?
    猜你喜欢
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多