电话正则表达式,但希望使所有 10 位数字都相同无效

regex for phone, but want to make if all 10 digits are the same to be invalid

本文关键字:数字 无效 正则表达式 希望 电话      更新时间:2023-09-26

我正在尝试使用data-ng-pattern验证电话字段。如果有 10 位数字,它会验证其所有数字。

<input type="text" name="phone_number" placeholder="Phone" tabindex="7" data-phone-mask="(***) ***-****" data-ng-pattern="/^'([0-9]{3}') [0-9]{3}-[0-9]{4}$/" data-error-msg="Please enter your ten digit phone number" required data-ga-event="FormField_Phone" data-event-type="fieldsubmit" data-category="FormField">

但是,我希望当所有 10 位数字都相同时输入无效。

无效示例:(444) 444-4444、(515) 515-155有效示例:(444) 424-4444

您可以在表单前面附加模式:

(?!this isn't valid)

把它放在^开始之后,放在其他任何事情之前。如果找到,则失败。您的案例示例可能是:

(?!'(('d)'1'1') '1{3}-'1{4})

如果输入由所有相同的数字组成,则应拒绝输入。

^(?!'((.)'1'1')'s*'1'1'1-'1'1'1'1)'([0-9]{3}') [0-9]{3}-[0-9]{4}$

试试这个。请参阅演示。只需添加一个前瞻以检查所有数字是否不同。请参阅演示。

https://regex101.com/r/vD5iH9/65

你可以提前看看这个问题

/^'(([0-9])(?!'1{2}') '1{3}-'1{4})[0-9]{2}') [0-9]{3}-[0-9]{4}$/

基本上,您正在捕获第一个数字,然后检查所有后续数字以查看它们是否匹配,([0-9])抓取第一个数字,(?!'1{2}') '1{3}-'1{4})[0-9]{2}')这是一个负面的展望

基本上是一种检查字符串中所有内容而不在主模式中前进的方法

检查其余数字是否相同,然后不匹配