两个正则表达式的组合
Combination of two regex
我正在使用表单验证器来验证我的注册表单上的某些字段。其中之一是电话字段,我为此准备了两个可提供验证的正则表达式。
regexp: {
regexp:
>/(^01|^02|^071|^073|^074|^075|^076|^077|^078|^079)/,
/^((?!(012345|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}|5{6,}|6{6,}|7{6,}|8{6,}|9{6,})).)*$/
message: 'The phone number is not valid'
}
我的问题是这两个中只有一个可以工作,而不是两个都可以。知道如何修改它以使它们都起作用吗?
您可以像这样将两者结合起来:
/^(?=(01|02|071|073|074|075|076|077|078|079))((?!(012345|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}|5{6,}|6{6,}|7{6,}|8{6,}|9{6,})).)*$/
对我来说,这似乎是一种混淆方式来执行一些相当简单的检查,但对每个人来说都是如此。
这个正则表达式可以工作,但我仍然建议可能找到不同的方法或一组标准来验证。不过这取决于你。
/^(0(?:[12]|7[145789]))(?!012345|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}5{6,}|6{6,}|7{6,}|8{6,}|9{6,})/
这将确保号码以正确的前缀开头,并且不包含您指定的序列。
我正在使用表单验证器来验证我的注册表单上的某些字段。其中之一是电话字段,我为此准备了两个可提供验证的正则表达式。
regexp: {
regexp:
>/(^01|^02|^071|^073|^074|^075|^076|^077|^078|^079)/,
/^((?!(012345|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}|5{6,}|6{6,}|7{6,}|8{6,}|9{6,})).)*$/
message: 'The phone number is not valid'
}
我的问题是这两个中只有一个可以工作,而不是两个都可以。知道如何修改它以使它们都起作用吗?
您可以像这样将两者结合起来:
/^(?=(01|02|071|073|074|075|076|077|078|079))((?!(012345|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}|5{6,}|6{6,}|7{6,}|8{6,}|9{6,})).)*$/
对我来说,这似乎是一种混淆方式来执行一些相当简单的检查,但对每个人来说都是如此。
这个正则表达式可以工作,但我仍然建议可能找到不同的方法或一组标准来验证。不过这取决于你。
/^(0(?:[12]|7[145789]))(?!012345|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}5{6,}|6{6,}|7{6,}|8{6,}|9{6,})/
这将确保号码以正确的前缀开头,并且不包含您指定的序列。