jquery mask - 查询时间输入

时间:2016-09-15 08:04:28

标签: javascript jquery

我想把小时输入到24小时。我不知道如何做到这一点,例如我无法提供'H' = [0-2]'h' = [0-9],因为这样可以用户输入最多29个我不想要的,所以有没有办法接受最多24小时而不是29?

$(document).ready(function(e) {

  //mask code
  $(".timepicker").mask("Hh:Mm:Ss", {
    translation: {
      'H': {
        pattern: /[0-1]/,
        optional: false
      },
      'h': {
        pattern: /[0-9]/,
        optional: false
      },
      'M': {
        pattern: /[0-5]/,
        optional: false
      },
      'm': {
        pattern: /[0-9]/,
        optional: false
      },
      'S': {
        pattern: /[0-5]/,
        optional: false
      },
      's': {
        pattern: /[0-9]/,
        optional: false
      }
    },
    placeholder: "Hh:Mm:Ss"
  });
  //mask code
});

1 个答案:

答案 0 :(得分:0)

通过仅使用H而不是Hh来实现这一点,因为h依赖于H,因此我们无法使模式与掩模相关。因此,如果您只使用H,那么为H编写模式,如下所示将起作用

/([0-1][0-9]{1}|2[0-3])/

的js

$(document).ready(function(e) {

    //mask code
  $(".timepicker").mask("HH:Mm:Ss", {
   translation: {
  'H': {
     pattern: /([0-1][0-9]{1}|2[0-3])/,
     optional: false
       },
  'M': {
    pattern: /[0-5]/,
    optional: false
  },
  'm': {
    pattern: /[0-9]/,
    optional: false
  },
  'S': {
    pattern: /[0-5]/,
    optional: false
  },
  's': {
    pattern: /[0-9]/,
    optional: false
  }
},
placeholder: "HH:Mm:Ss"
 });
  //mask code
 });

这样可行!