我想使用掩码插件构建表单输入,该插件将更改条目的特性以允许用户以自由格式输入数字,系统会将输入的数字转换为适当的时间使用jQuery显示。
示例:用户输入“135”并将系统转换为“01:35”
掩码的代码是:
$("input.time").mask("99:99");
到目前为止,我有以下代码:
$(document).ready(function() {
$('#awareness-hour').blur(function() {
if(!$('#awareness-hour').val().match(/([0-1][0-9]|2[0-3]):[0-5][0-9]/)){
alert('invalid');
}else{
return true;
};
});
});
答案 0 :(得分:2)
这将纠正您提到的场景,并仅在根据您的第二个正则表达式的有效时间更新输入。希望你能得到这个想法并且有效:
$("input.time").blur(function() {
var userInput = $(this).val().replace(/^([0-9])([0-9]):([0-9])_$/, "0$1:$2$3");
if(!userInput.match(/([0-1][0-9]|2[0-3]):[0-5][0-9]/)){
alert('invalid');
}else{
$(this).val(userInput);
return true;
};
}).mask("99:99");