Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 两个正则表达式的组合_Javascript_Jquery_Regex_Expression - Fatal编程技术网

Javascript 两个正则表达式的组合

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,}))

我使用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,})).)*$/

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这是一个意见问题。。。有很多重复的顺序和低效,使你所做的事情比可能需要的更复杂。你为什么不详细说明一下你想要的验证标准是什么,然后寻求帮助呢?一般来说,我的意思是电话号码验证只是检查以确保号码符合特定格式,而不是号码本身,如果你打电话的话,是有效的。非常感谢。哈哈,有人特别告诉我,不幸的是,必须这样做——这不允许我投票,但非常感谢!谢谢你的解决方案