Regex来匹配不是由所有相同号码组成的电话号码
Regex to match a phone number that is not composed of all the same number
我需要一个正则表达式,将匹配电话号码,不都是由相同的数字组成。我说的是一个10位数的电话号码,看起来像这样(123)123-1234。我已经看到了与都是的手机匹配的模式,但我正试图匹配相反的模式。
我想到了这个,哦,很接近,但不是很好。
^'(('d)(?!'1{2})'d{2}')(?!'1{3})'d{3}-(?!'1{4})'d{4}$
唯一失败的地方是当区号都是相同的数字时,其他一切似乎都工作得很好。所以它会在(888)123-1234这样的地方失败,但会通过(886)123-1234
我怎样才能让它接受最后的坚持?
我见过类似的问题
如何验证电话号码,使其不允许所有相同的数字,如java中的99999999999或11111111111
但是这个没有考虑到()和-,而且它匹配的与我想要的相反。
和
Regex阻止一个电话号码包含相同的数字超过4次连续?
这种方法看起来很有希望,但它没有解释()和-。
你可以使用这个反向向前看的正则表达式:
^'(('d)(?!'1{2}')'1{3}-'1{4}$)'d{2}')'d{3}-'d{4}$
RegEx演示
负向前看(?!'1{2}')'1{3}-'1{4}$)
只有在从头到尾重复相同数字时才会匹配失败。
相关文章:
- 带有加号的电话号码验证(可选)
- 正则表达式,用于在 JavaScript 中为电话号码添加短划线
- 通过Javascript将HTML中的电话号码与URL参数进行交换
- Javascript/Ajax:通过点击按钮检查有效的电子邮件和电话号码
- 如何将页面上的所有电话号码更改为可点击链接,不包括特定类别的元素
- 验证澳大利亚的电话号码
- 使用javascript验证电话号码无效
- Regex表示8位电话号码(新加坡号码长度)
- HTML文本框,它接受电话号码,并以美国电话号码格式显示
- 试图清理一个电话号码,以便如果它像816-345-6757一样被输入,它会像8163456757一样返回它
- 输入中的国际电话号码格式
- 什么是英国电话号码验证表达式和语法
- 使用 AngularJs 格式化电话号码
- 如何使移动用户可点击动态电话号码
- 如何通过Phonegap使用iOS格式查找联系人的电话号码
- Jquery国际电话号码输入
- Javascript-如何验证两个电话号码是否不同
- javascript/jquery:从字符串中提取电话号码
- 如何使用angularjs在剑道网格过滤器文本框中应用电话号码掩码
- 如果电话号码已注册,则显示错误消息