如何验证<;输入类型=";时间“&燃气轮机;在jquery的时间范围内?

如何验证<;输入类型=";时间“&燃气轮机;在jquery的时间范围内?,jquery,html,forms,validation,Jquery,Html,Forms,Validation,我有一个带有的表单,我希望它根据特定的时间段进行验证,例如,它应该只在08:00到22:00之间进行验证 我尝试过使用最小/最大值,但这不适用于验证 <input type="time" min="0800" max="2200" required> 我在用电话 关于如何做到这一点,如果可能的话,有什么建议吗 看看这个,看看我想完成什么 谢谢:)首先,如前所述,min/max属性的格式应为datetime值,如min=“08:00:00”和max=“22:00:00” 对于j

我有一个带有
的表单,我希望它根据特定的时间段进行验证,例如,它应该只在08:00到22:00之间进行验证

我尝试过使用最小/最大值,但这不适用于验证

<input type="time" min="0800" max="2200" required>

我在用电话

关于如何做到这一点,如果可能的话,有什么建议吗

看看这个,看看我想完成什么

谢谢:)

首先,如前所述,min/max属性的格式应为datetime值,如
min=“08:00:00”
max=“22:00:00”


对于jQuery验证,请查看:

对于给定输入字符串内的时间验证:

$.validator.addMethod("time", function (value, element) {
    return this.optional(element) || /^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$/i.test(value);
}, "Please enter a valid time.");

您可以添加自定义验证器,如:

jQuery.validator.addMethod("timey", function(value, element) {
    var hour = parseInt(value.substring(0,2));
    return hour > 7 && hour < 23;
}, "Invalid time");
jQuery.validator.addMethod(“timey”,函数(值,元素){
var hour=parseInt(value.substring(0,2));
返回时间>7小时&返回时间<23小时;
}“无效时间”);
然后将其应用到你的领域。不过,要注意字段名——看起来您发布的JSFIDLE设置不正确

正确设置最小值和最大值(
min=“08:00:00”max=“22:00:00”
)更为优雅,但验证器似乎无法正确处理边缘案例,只拒绝了8:00和22:00


你有没有尝试过或者有没有尝试过向我们展示?我会很快发布我的代码…不管你如何在客户端完成这项工作,你仍然需要服务器端验证…@MarcB jQuery验证插件不够用吗?@Prodac:如果我在客户端禁用Javascript怎么办?或者,如果我尝试在firebug控制台中运行一个命令,在提交之前编辑这些值,该怎么办?无法确定发送到服务器的值是否有效。
jQuery.validator.addMethod("timey", function(value, element) {
    var hour = parseInt(value.substring(0,2));
    return hour > 7 && hour < 23;
}, "Invalid time");