Javascript JS正则表达式模式不起作用
我正在使用此方法验证格式中的时间: HH:MM-HH:MM 但我总是收到虚假的 方法如下:Javascript JS正则表达式模式不起作用,javascript,regex,Javascript,Regex,我正在使用此方法验证格式中的时间: HH:MM-HH:MM 但我总是收到虚假的 方法如下: var cadena="22:40-23:40"; var patron=/^(0[1-9]|1\d|2[0-3]):([0-5]\d)+-+(0[1-9]|1\d|2[0-3]):([0-5]\d)$/; if (patron.test(cadena)) alert('Correcto'); else alert('Incorrecto')
var cadena="22:40-23:40";
var patron=/^(0[1-9]|1\d|2[0-3]):([0-5]\d)+-+(0[1-9]|1\d|2[0-3]):([0-5]\d)$/;
if (patron.test(cadena))
alert('Correcto');
else
alert('Incorrecto');
我怎样才能解决它
谢谢:)
解释
我想检查范围的正确格式:HH:MM-HH:MM(这里有两次)
我想检查“小时”是否有两个介于0-23之间的数字。和分钟,有两个介于0-59之间的数字
这两个时间都应该被划分为“-”来验证
HH:MM-HH:MM
您需要将cadena
值设置为HH:MM-HH:MM
,然后它工作:
var cadena=“22:40-10:15”;
var patron=/^(0[1-9]| 1\d | 2[0-3]):([0-5]\d)-+(0[1-9]| 1\d | 2[0-3]):([0-5]\d)$/;
if(用户测试(卡德纳))
警惕(“纠正”);
其他的
警惕(“不正确”);
cadena=“22:4440-10:15”;
if(用户测试(卡德纳))
警惕(“纠正”);
其他的
警惕(“不正确”)代码>您的正则表达式需要一系列时间<代码>11:00-22:40
。你是说/^(?[01]\d | 2[0-3]):[0-5]\d$/
?或者您想同时验证这两种方法吗?提示:当您的正则表达式变得太复杂时(对于一个人来说无法编写,对于其他人来说无法读取),拆分/解析和一些比较通常是更好的解决方案。您的模式要求它必须是HH:MM-HH:MM
,但您只是传入HH:MM
,所以它当然不匹配……亚伯拉罕,请您解释一下为什么您说您使用该模式来验证HH:MM
?你的意图是什么?嗨!我想检查范围的正确格式:HH:MM-HH:MM(有两次)。我想检查“小时”在0-23和分钟之间有两个数字,在0-59之间有两个数字。这两个时间都应该被一个“-”分开。这^(0[1-9]| 1\d | 2[0-3]):([0-5]\d)+(0[1-9]| 1\d | 2[0-3]):([0-5]\d)$
regex不验证00:30-22:40
。它将验证21:2323-11:33
。看。@WiktorStribiżew它现在有了。检查更新的正则表达式。@Abraham很乐意帮助您