Javascript 持续时间文本框验证
我想验证持续时间,它应该是HH:MM:SS格式。 我应该如何对此进行验证。是否有一些插件可用于此目的,或者我需要使用JS验证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格式
持续时间
为什么不使用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,谢谢你的帮助。谢谢你的回答,但改变设计不是我的责任,我想让功能正常工作,无论如何,非常感谢你的努力