jquery蒙面编辑时间

时间:2010-02-14 01:38:26

标签: jquery jquery-plugins

使用meioMask Plugin有没有办法设置一个掩码,以便在24小时内接受有效时间,甚至在12小时系统中更好?

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

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

1 个答案:

答案 0 :(得分:13)

试试这个:

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

<强>校正

规则只需要一个字符,所以考虑到这一点,你可以在输入以'2'开头时交换掩码,并将下一个字符验证为[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);
  }
});

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