在Javascript或jquery中,有一种方法可以验证给定的字符串是h:m还是hh:mm格式,或者只是h格式。
例如:

5 //legal
2.5 //legal
.5 //legal
2:05 //legal
:5 //NOT legal
2:61 // NOT legal


这个想法是,如果可以将字符串解析为双精度型,或者可以将其解析为h:m格式,那么就可以了。

这不是24小时制,33:44是完全有效的,这是输入工作时间的时间。

谢谢

最佳答案

我认为可以使用以下代码解决问题:

function validate(value) {
           if (!parseFloat(value)) {
              var values = value.split(':');
              if (!parseInt(values[0]) || parseInt(values[1]) >= 60) {
                 return false;
              }
           }
           else {
             var values = value.split('.');
             if (parseInt(values[1]) >= 60)
                return false;
           }
           return true;
}

10-05 20:15