Разрешение тире с плагином маскирования jQuery - PullRequest
0 голосов
/ 25 января 2011

Я пытался замаскировать текстовое поле и взглянул на http://digitalbush.com/projects/masked-input-plugin

. Я создал специальное определение маски, чтобы у Фамилии были A-Za-Z и пробел.

Как я могу добавить тире к маске?Я попытался избежать этого, как в следующем примере:

$.mask.definitions['~'] = '[A-Z,a-z,\-, ]';

, но, похоже, он не работает.

1 Ответ

4 голосов
/ 25 января 2011

Объект definitions, по сути, представляет собой набор классов символов с ключом регулярного выражения.Ключи - это специальные символы редактирования маски.По умолчанию, если вы посмотрите на исходный код плагина для маскированного редактирования, вы увидите, что он определяет три (для '9', 'a' и '*'):

definitions: {
  '9': "[0-9]",
  'a': "[A-Za-z]",
  '*': "[A-Za-z0-9]"
}

Таквсе, что вам нужно сделать, это объявить правильный класс символов регулярных выражений.Поскольку '-' является метасимволом для классов символов (он определяет диапазон внутри класса; например, az), вы должны поместить его первым.Таким образом, ответом будет

$.mask.definitions['~'] = '[-A-Za-z ]';

Это позволит заменить символ '~' в маске альфа-символом, пробелом или дефисом.

...