jquery蒙面编辑时间

使用meioMask插件是否有任何方法可以设置掩码,以便在24小时内接受有效时间,甚至在12小时系统中接受更好的时间?

$("#txtTime").setMask('time'); 

这个插件有一个预定义的24小时’时间’掩码,但它不太正确,所以你可以输入无效的时间值,如“29:00”。 这个面具是不适合这个目的,如果不是哪个会更好?

试试这个:

 $.mask.rules.H = /([0-1][0-9]|2[0-3])/; // 24 hours $.mask.masks.time = 'H:59'; $("#txtTime").setMask('time'); 

更正

规则只需要一个字符,所以考虑到这一点,你可以在输入以’2’开头时交换掩码并validation下一个字符为[0-3]:

 $("#txtTime").setMask("29:59") .keypress(function() { var currentMask = $(this).data('mask').mask; var newMask = $(this).val().match(/^2.*/) ? "23:59" : "29:59"; if (newMask != currentMask) { $(this).setMask(newMask); } }); 

注意 :在这种情况下,我使用的是按键事件,请确保在需要时处理粘贴事件。