JS正则表达式模式不起作用

时间:2018-07-20 12:16:41

标签: 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');

我该如何解决?

谢谢:)

EXPLANATION

我想检查范围的正确格式:HH:MM-HH:MM(这是两次) 我想检查一下“小时数”是否介于0-23之间。分钟,在0-59之间有两位数字。

这两次都应以“-”分隔。

1 个答案:

答案 0 :(得分:0)

要验证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 (patron.test(cadena))
  alert('Correcto');
else
  alert('Incorrecto');
  

cadena="22:4440-10:15";
if (patron.test(cadena))
  alert('Correcto');
else
  alert('Incorrecto');