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

Regex 用于匹配电话号码的正则表达式模式,regex,validation,Regex,Validation,我想要一个我的电话号码验证的正则表达式模式 它必须允许数字、+、(、)和- 这些限制包括: +需要位于输出的开头(类似于:“+31(427)-103819”需要有效) 不需要+、(、)和- 输出必须以数字结尾 不需要对长度进行限制 希望有人能为我做一个正则表达式,我已经研究了不同的生成器,最终得到了如下结果: /^(\\+)*(\\d+)(\\()*(\\d+)(\\))*(-)*(\\d+)$/ 这不是我想要的。一些必须有效的示例数字: 190138190 103-10381-3901

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

它必须允许数字、
+
-

这些限制包括:

  • +
    需要位于输出的开头(类似于:“+31(427)-103819”需要有效)
  • 不需要
    +
    -
  • 输出必须以数字结尾
  • 不需要对长度进行限制
希望有人能为我做一个正则表达式,我已经研究了不同的生成器,最终得到了如下结果:

/^(\\+)*(\\d+)(\\()*(\\d+)(\\))*(-)*(\\d+)$/
这不是我想要的。一些必须有效的示例数字:

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

    • 像这样简单的事情

      /^\+?[0-9-()]+$/
      
      只需粘贴示例,然后搜索
      社区中的现有示例(只需双击列表中的每个项目,直到它适合所有示例)。
      找到这个:

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


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

      您使用哪种正则表达式语言?例如,Vim正则表达式与Perl的不同。可能的重复应该认为这是最简单的。它涵盖了我所有的可能性。谢谢!