【发布时间】:2016-09-29 18:57:08
【问题描述】:
我需要一个正则表达式来匹配并非全部由相同号码组成的电话号码。我说的是一个 10 位数的电话号码,看起来像 (123)123-1234。我见过可以匹配是相同的手机的模式,但我试图匹配相反的。
我想出了这个,哦,非常接近,但不完全在那里。
^\((\d)(?!\1{2})\d{2}\)(?!\1{3})\d{3}-(?!\1{4})\d{4}$
唯一失败的地方是区号都是相同的数字,其他一切似乎都很好。所以它会在这样的(888)123-1234上失败,但会通过(886)123-1234
我如何让它接受最后的坚持?
我见过类似的问题
但是这个没有考虑 () 和 -,它也与我想要的相反。
和
Regex to block a phone number that contains same digit more than 4 times successively?
这种看起来很有希望,但它没有考虑到 () 和 -。
【问题讨论】:
-
为什么不在检查之前从字符串中删除
()和-字符? -
你能提供什么是好什么是坏的测试用例吗?我不明白为什么
(888)123-1234好而(886)123-1234不好。或者你是说两者都应该是好的?如果是,为什么? -
@TimRoberts,我正在尝试将此作为模式属性添加到 html 输入中
-
@KennethK.,反过来 (888) 不好。
标签: javascript regex