【发布时间】:2016-03-22 10:03:01
【问题描述】:
我正在尝试使用jQuery Mask Plugin by Igor Escobar 进行时间验证:
$("input").mask("Hh:Mm",{
translation: {
'H': { pattern: /[0-2]/ },
'h': { pattern: /[0-9]/ },
'M': { pattern: /[0-5]/ },
'm': { pattern: /[0-9]/ }
}
});
在此解决方案中,可以输入无效时间,例如26:53。我也不能使用am 或pm,只能使用24h 格式。该模式似乎只适用于一个符号。我怎样才能将它用于更多字符?像这样([01]?[0-9]|2[0-3])
我也尝试在输入后验证值:
$("input").each(function() {
el = $(this);
el.mask("Hh:Mm", {
onComplete: function(cep) {
if (!/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(cep)) {
alert('Error');
el.attr("value","");
}
},
translation: {
'H': { pattern: /[0-2]/ },
'h': { pattern: /[0-9]/ },
'M': { pattern: /[0-5]/ },
'm': { pattern: /[0-9]/ }
}
});
});
这个解决方案不太好,因为我仍然允许用户输入错误。我该如何解决这个问题?
【问题讨论】:
标签: javascript jquery validation time masking