regex 正则表达式不匹配电话号码的一个示例

ki1q1bka  于 2023-06-30  发布在  其他
关注(0)|答案(2)|浏览(138)

我花了很多时间来创建正则表达式,但我已经到了一个地步,我正在努力解决它的最后一个问题。
此正则表达式匹配电话号码,适用于以下格式:

  • 01234 567 890
  • 电话:01234 567890
  • 电话:+441234567890
  • 电话:(555)555-1234
  • 电话:(555)5551234传真:(555)551234

Regex:

/\s*(([+](\s?\d)([-\s]?\d)|0)?(\s?\d)([-\s]?\d){9}|[(](\s?\d)([-\s]?\d)+\s*[)]([-\s]?\d)+)\s*/;

但这并不符合:

441234567890

它与上面的一个示例+441234567890相同,但没有+

gkn4icbw

gkn4icbw1#

这对我所有的例子都有效:

/\s*(([+]{0,1}(\s?\d)([-\s]?\d)|0)?(\s?\d)([-\s]?\d){9}|[(](\s?\d)([-\s]?\d)+\s*[)]([-\s]?\d)+)\s*/;

我在[+]后面添加了**{0,1},这样它就可以匹配单个+或不匹配+(实际上也可以通过使用[+]来完成?)**)

jw5wzhpr

jw5wzhpr2#

在我的情况下,类似这样的工作:

^(\d|\+|\()?(\d)+(\s|\))?(\s)?(\d(\s|-)?)+\d$

相关问题