Javascript 用于电话的正则表达式,但如果所有10位数字都相同,则要使其无效
我正在尝试使用数据ng模式验证电话字段。如果有10位数字,则验证其所有数字Javascript 用于电话的正则表达式,但如果所有10位数字都相同,则要使其无效,javascript,regex,angularjs,Javascript,Regex,Angularjs,我正在尝试使用数据ng模式验证电话字段。如果有10位数字,则验证其所有数字 您可以预先添加表单的模式: (?!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}$ 试试这个。请看
您可以预先添加表单的模式:
(?!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}$
试试这个。请看演示。只需添加一个前瞻来检查所有数字是否不相同。请看演示
您可以对该问题使用“展望”
/^\(([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}\
是一种消极的前瞻
基本上是一种检查字符串中所有内容的方法,而无需在主模式中前进
检查剩余的数字是否相同,然后不匹配使电话号码无效的因素比“所有相同的数字”多。@NiettheDarkAbsol基本上我想使用我当前的正则表达式,但除此之外,使所有相同的10个数字无效。