Как установить jquery маску с диапазоном - PullRequest
0 голосов
/ 28 января 2020

У меня есть текстовое поле, которое я замаскировал как

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

Здесь я всегда хочу добавить диапазон, то есть xxx < 256. Что будет лучшим способом сделать это TIA

Unable to edit this textbox

Ответы [ 2 ]

1 голос
/ 28 января 2020

демо: 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);
0 голосов
/ 28 января 2020
$(".address").inputmask("numeric", {
  min: 0,
  max: 256
});
...