У меня похожая проблема, которую я пытаюсь решить для переменных валют (от 0,00 до 10000,00 долларов США), и я не совсем понимаю, как работает плагин.
С одной стороны, бит $.mask.definitions['symbol'] = '???'
выглядит так, как будто он использует фрагмент регулярного выражения, основанный на примерах в справочнике по API, и в некоторой степени подтвержденный этой частью в исходном коде функции mask
:
$.each(mask.split(""), function (i, c) {
if (c == '?') {
len--;
partialPosition = i;
} else if (defs[c]) {
tests.push(new RegExp(defs[c]));
if (firstNonMaskPos == null)
firstNonMaskPos = tests.length - 1;
} else {
tests.push(null);
}
});
... С другой стороны, определение маски []|[0-9]
не работает (я пытаюсь сделать пустую строку или 0-9, для тех, кто не является грамотным в регулярном выражении.) Для справки я пытаюсь построить маска для выполнения условия 0,00-10000,00, например oooo9.99
, где o
равно []|[0-9]
.
Поскольку код подтверждает, что это основано на регулярных выражениях, шаблон нуля или диапазона должен работать, но это не так; это более неясная ошибка в структуре маски. Если только Я не попытается что-то сделать неправильно, что также возможно ...