Javascript 两个正则表达式的组合
我使用FormValidator来验证注册表单上的一些字段。其中一个是电话字段,我已经为它准备了两个正则表达式来提供验证Javascript 两个正则表达式的组合,javascript,jquery,regex,expression,Javascript,Jquery,Regex,Expression,我使用FormValidator来验证注册表单上的一些字段。其中一个是电话字段,我已经为它准备了两个正则表达式来提供验证 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,}))
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,})/
这将确保数字以正确的前缀开头,并且不包含您指定的序列。这两个序列中只有一个可以工作,而不是两个都可以-您的意思是只能使用一个正则表达式,还是其中一个不执行您希望它执行的操作?为什么?天哪,这太复杂了。。。也许简化它会让你的问题消失。是的,只有一个会在验证中起作用@user5288@RyanJ并不是那么顺从…@user2713650这是一个意见问题。。。有很多重复的顺序和低效,使你所做的事情比可能需要的更复杂。你为什么不详细说明一下你想要的验证标准是什么,然后寻求帮助呢?一般来说,我的意思是电话号码验证只是检查以确保号码符合特定格式,而不是号码本身,如果你打电话的话,是有效的。非常感谢。哈哈,有人特别告诉我,不幸的是,必须这样做——这不允许我投票,但非常感谢!谢谢你的解决方案