您可以将自定义方法添加到jQuery.validate
. 可能有一个可用的,但我将这个 24 小时格式验证编码为示例:
$.validator.addMethod("time24", function(value, element) {
if (!/^\d{2}:\d{2}:\d{2}$/.test(value)) return false;
var parts = value.split(':');
if (parts[0] > 23 || parts[1] > 59 || parts[2] > 59) return false;
return true;
}, "Invalid time format.");
小提琴
文档。
您还可以将其总结为一个正则表达式(source):
([01]?[0-9]|2[0-3])(:[0-5][0-9]){2}
如果您使用的是 HTML5,则可以使用该pattern
属性:
<input type="text" pattern="([01]?[0-9]|2[0-3])(:[0-5][0-9]){2}"
required="required" placeholder="hh:mm:ss" />
小提琴
jQuery.validate
如果您需要与旧版浏览器兼容,请继续使用该方法:
$.validator.addMethod("time24", function(value, element) {
return /^([01]?[0-9]|2[0-3])(:[0-5][0-9]){2}$/.test(value);
}, "Invalid time format.");
演示