Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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_Java_Jquery - Fatal编程技术网

Javascript 验证视频时间戳

Javascript 验证视频时间戳,javascript,java,jquery,Javascript,Java,Jquery,我需要对视频时间戳进行验证。基本上在我的例子中,小时数可以大于24小时。在Java中进行此验证的最佳方法是什么?对于标准的24小时验证,我执行以下操作 private static DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("HH:mm:ss"); LocalTime.parse("20:00:12", dateFormat); 我也想在我的前端Javascript中进行类似的验证。 对于正常的24小时模式,我使用正则

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

private static DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime.parse("20:00:12", dateFormat);
我也想在我的前端Javascript中进行类似的验证。
对于正常的24小时模式,我使用正则表达式测试:
newregexp((0[0-9]| 1[0-9]| 2[0-3])(:[0-5][0-9]){2}”)
;有没有类似于输入掩码的Jquery插件,我可以用它在UI文本框中强制执行此模式?

另外,我无法添加注释,所以我会将其作为答案发布

我的策略是使用
标记

还有一个用于旧浏览器支持的polyfill


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

另外,我无法添加注释,因此我会将其作为答案发布

我的策略是使用
标记

还有一个用于旧浏览器支持的polyfill


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

对于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;
String timestamp=“343:45:37”;
String[]components=timestamp.split(“:”);
布尔值validTimestamp=false;
inth=-1,m=-1,s=-1;
试一试{
if(validTimestamp=components[1]。长度()==2&&components[2]。长度()==2){
h=整数。值of(分量[0]);
m=整数。值of(组件[1]);
s=整数。值of(组件[2]);
}
}捕获(例外e){
e、 printStackTrace();
}
validTimestamp=validTimestamp&&h>=0&&m>=0&&m<60&&s>=0&&s<60;

对于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;
String timestamp=“343:45:37”;
String[]components=timestamp.split(“:”);
布尔值validTimestamp=false;
inth=-1,m=-1,s=-1;
试一试{
if(validTimestamp=components[1]。长度()==2&&components[2]。长度()==2){
h=整数。值of(分量[0]);
m=整数。值of(组件[1]);
s=整数。值of(组件[2]);
}
}捕获(例外e){
e、 printStackTrace();
}
validTimestamp=validTimestamp&&h>=0&&m>=0&&m<60&&s>=0&&s<60;

time属性执行24小时验证。在我的例子中,也没有AM/PMtime属性的概念,它会执行24小时验证。此外,在我的情况下,没有AM/P的概念,单个元素的所有元素也应该是2位对不起,但我认为OP说需要接受超过24小时。此外,无需检查单个元件的长度,因为它们的数值在最后一行进行了检查。是的,除了小时之外,其他所有内容都必须是数字。根据此逻辑,偶数:9:1:1是有效的,这没有意义。单个元件的所有值也应该是2位对不起,但我认为OP说需要接受超过24小时的时间。此外,不需要检查单个组件的长度,因为它们的数值在最后一行检查。是的,除了小时之外,其他所有内容都必须是数字。使用此逻辑,偶数:9:1:1是有效的,这没有意义