понедельник, 4 января, 2016 - 18:02

Для масок в формах я использую плагин jQuery-Mask-Plugin.

Встала задача сделать маску по времени.
Но плагин из коробки этого не умеют.

Хорошо, что решается опциями.

Решение

$('.time').mask('20:00', {
  onKeyPress: function (cep, e, field, options) {
    var masks = ['20:50', '23:50'];
    var mask = (cep.length > 0 && cep.substring(0, 1) == '2') ? masks[1] : masks[0];
    field.mask(mask, options);
  },
  clearIfNotMatch: true,
  placeholder: '00:00',
  translation: {
    '2': {
      pattern: /[0-2]/,
      optional: true
    },
    '3': {
      pattern: /[0-3]/
    },
    '5': {
      pattern: /[0-5]/
    }
  }
});

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.