【问题标题】:How to set jquery mask with range如何使用范围设置jquery掩码
【发布时间】:2020-01-28 12:17:54
【问题描述】:

我有一个文本框,像

  $.mask.definitions['x'] = "[0-9]";
  $(".address").mask("xxx:xxx:xxx:xxx");

在这里我总是想添加范围,即xxx < 256。 什么是最好的方法来做到这一点 TIA

【问题讨论】:

标签: jquery maskedtextbox


【解决方案1】:

演示:https://jsbin.com/pohehil

var masking = function(value) {
  if (value.match(/25[0-9]{0,1}/)) {
    return "255"
  } else if (value.match(/2[0-9]{0,2}/)) {
    return "250"
  } else {
    return "200"
  }
}

var options = {
  onKeyPress: function(cep, e, field, options) {
    var mask = ["200", "200", "200", "200"];

    var values = cep.split(":");

    for (var i = 0; i < values.length; i++) {
      mask[i] = masking(values[i]);
    }

    $(e.target).mask(mask.join(":"), options);
  }, 
  translation: {
    2: { pattern: /[0-2]/ },
    5: { pattern: /[0-5]/ }
  }
};

$(".address").mask("200:200:200:200", options);

【讨论】:

  • 当我使用上面的代码时,我的文本框中出现了 200:200:200:200,这是不可编辑的,你能帮帮我吗
  • 使用translation选项,'2'只能输入[0-2]。所以只有第一个输入是 0、1 或 2。
  • 我已经更新了我上面的问题并添加了不可编辑的文本框图像,使用您的代码后它仍然是 200.200.200.200。
【解决方案2】:
$(".address").inputmask("numeric", {
  min: 0,
  max: 256
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 2014-03-26
    • 2018-08-16
    相关资源
    最近更新 更多