【问题标题】:Regex pattern for matching phone numbers用于匹配电话号码的正则表达式模式
【发布时间】:2013-06-04 09:49:55
【问题描述】:

我想要一个用于我的电话号码验证器的正则表达式模式。

它必须允许 digits+()-

限制是:

  • + 必须位于输出的开头(例如:“+31(427)-103819”必须有效)
  • +()- 不是必需的
  • 输出必须以数字结尾
  • 不需要长度限制

希望有人可以为此制作我的正则表达式,我查看了不同的生成器并最终得到了这样的结果:

/^(\\+)*(\\d+)(\\()*(\\d+)(\\))*(-)*(\\d+)$/

这不符合我的要求。一些必须有效的示例数字:

  • 190138190
  • 103-10381-390101
  • (0358)-103810381
  • (1038)1038103
  • +1081(1081)-193810
  • +1903(3913)193810

【问题讨论】:

标签: regex validation


【解决方案1】:

这样的事情很简单吗?

/^\+?[0-9-()]+$/

【讨论】:

  • 觉得这个最简单。它涵盖了我所有的可能性。非常感谢!
【解决方案2】:

http://gskinner.com/RegExr/ 中粘贴示例,然后在Community 中搜索现有示例(只需双击列表中的每个项目,直到适合所有示例)。 找到了这个:

^([().-\s0-9+]{2,}(?:(?::|x)[\s]*(?=(?:\d{1,4}))\d{1,4}[\s]*)?)$

链接:http://gskinner.com/RegExr/?353qd

如果您希望为电话号码或电子邮件地址等可能流行的模式找到正则表达式,我建议您使用此类工具。

【讨论】:

    猜你喜欢
    • 2010-12-16
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    相关资源
    最近更新 更多