【发布时间】:2019-03-04 16:29:47
【问题描述】:
我正在编写正则表达式来验证联系号码。我正在使用以下正则表达式进行验证:
^(?!\b(0)\1+\b)(?!(-))([+]?(\d{1,3})?[\s.-]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$)
我不想使用这个正则表达式匹配像“+00 (000) 000-0000”这样的输入。 正则表达式不应匹配“+00 (000) 000-0000”。 我试图通过使用“单词边界不应包含全零”来解决此问题,但不知道该怎么做。
请建议如何解决此问题。任何指针都会有所帮助。
谢谢
【问题讨论】:
-
该输入看起来符合要求..? regex101.com/r/bBT3uF/1
-
对不起,我的意思是正则表达式不应该匹配“+00 (000) 000-0000”。
-
你为什么不让它变得简单呢?删除所有非数字部分
\D,并检查它是否全为零^0+$ -
您的意思是使用第二个正则表达式来删除非数字并检查全零?我正在尝试使用单个正则表达式,但不知道该怎么做
-
在
^添加(?![0\s()+-]+$)
标签: regex