Javascript 持续时间文本框验证

Javascript 持续时间文本框验证,javascript,jquery,regex,validation,Javascript,Jquery,Regex,Validation,我想验证持续时间,它应该是HH:MM:SS格式。 我应该如何对此进行验证。是否有一些插件可用于此目的,或者我需要使用JS验证 持续时间为什么不使用3个选择框,用正确的时间值填写,而不是文本输入?这样,您根本不必验证用户输入,因为您可以强制用户以您喜欢的格式给出时间。扔一些漂亮的CSS在它,你有一个非常干净的外观解决方案 小时 0 //再重复23次 会议记录 0 1. //再重复59次 秒 1. //再重复59次 这是一个非常简单的regexp,您可以使用它验证输入,格式为HH:MM:SS格式

我想验证持续时间,它应该是HH:MM:SS格式。 我应该如何对此进行验证。是否有一些插件可用于此目的,或者我需要使用JS验证


持续时间
为什么不使用3个选择框,用正确的时间值填写,而不是文本输入?这样,您根本不必验证用户输入,因为您可以强制用户以您喜欢的格式给出时间。扔一些漂亮的CSS在它,你有一个非常干净的外观解决方案

小时
0
//再重复23次
会议记录
0
1.
//再重复59次
秒
1.
//再重复59次

这是一个非常简单的regexp,您可以使用它验证输入,格式为
HH:MM:SS
格式:

^([0-2][0-3]):([0-5][0-9]):([0-5][0-9])$
解释非常简单,3组2个字符由
分隔:
每个字符必须是该特定范围内包含的数字。 您可以对其进行自定义以减少限制

var regexp = new RegExp(/^([0-2][0-3]):([0-5][0-9]):([0-5][0-9])$/)

regexp.test("14:20:05") //  true
regexp.test("14:20:70") //  false (invalid seconds)
regexp.test("25:20:00") //  false (invalid hours) 
regexp.test("14-30-00") //  false (invalid separator)
下面是一个使用jquery on blur事件(当输入失去焦点时)进行验证的示例:

$(文档).ready(函数(){
$('input').blur(函数(){
var值=$(this.val();
如果(isValidTime(值))
$(this.css('background','green');
其他的
$(this.css('background','red');
}) 
函数isValidTime(文本){
var regexp=new regexp(/^([0-2][0-3]):([0-5][0-9]):([0-5][0-9])$/)
返回regexp.test(文本);
}
})


如果适合您的需要,您可以使用jquery插件。否则你可以用一个regexThanks@super-qua自己验证它,我正在尝试使用较少的第三方插件,所以regex是最好的选择。。。马奎兹给出了我想要的答案:)B:D。。。谢谢马奎兹:)完美的答案和例子。我没有经常使用regex,谢谢你的帮助。谢谢你的回答,但改变设计不是我的责任,我想让功能正常工作,无论如何,非常感谢你的努力