用于匹配电话号码的正则表达式模式

时间:2013-06-04 09:49:55

标签: regex validation

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

必须允许数字+()-

限制是:

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

希望有人可以让我成为一个正则表达式,我看了不同的发电机,结果是这样的:

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

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

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

2 个答案:

答案 0 :(得分:1)

像这样非常容易的东西?

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

答案 1 :(得分:1)

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

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

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

我建议您在想要找到像电话号码或电子邮件地址这样的流行模式的正则表达式时使用此类工具。