验证视频时间戳

时间:2017-10-10 21:26:32

标签: javascript java jquery

我需要验证视频时间戳。所以基本上在我的情况下,小时数可以大于24.在Java中进行此验证的最佳方法是什么?对于标准的24小时验证,我执行以下操作。

private static DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime.parse("20:00:12", dateFormat);

我也希望在我的前端Javascript中进行类似的验证。 对于正常的24小时模式,我使用正则表达式进行了测试:new RegExp("(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}");是否有类似于输入掩码的Jquery插件,我可以使用它在UI文本框中强制执行此模式?

2 个答案:

答案 0 :(得分:2)

对于Java,为什么不使用第一原则:

String timestamp = "343:45:37";
String[] components = timestamp.split(":");
boolean validTimestamp = false;
int h = -1, m = -1, s = -1;
try {
    if (validTimestamp = components[1].length() == 2 && components[2].length() == 2) {
        h = Integer.valueOf(components[0]);
        m = Integer.valueOf(components[1]);
        s = Integer.valueOf(components[2]);
    }
} catch (Exception e) {
    e.printStackTrace();
}
validTimestamp = validTimestamp && h >= 0 && m >= 0 && m < 60 && s >= 0 && s < 60;

答案 1 :(得分:0)

显然我无法添加评论,所以我会将其作为答案发布。

我的策略是使用<input type="time">代码https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time

还有一个旧的浏览器支持的polyfill。 https://github.com/jonstipe/time-polyfill

除此之外,我喜欢依靠后端来提供大多数验证和错误响应。