Comments 22
Регулярка неверная. \w понимает цифры или буквы латинского алфавита. Правильно [\d,\.]. Примерно так у вас сейчас и сделано в коде. Поправьте и в статье.
Хорошо, что вы не изобретали велосипед, но ещё лучше если бы взяли вот wiki.jqueryui.com/w/page/12137996/Mask и доработки pull request ;)
Виджета на который вы дали ссылку, за основу его брался указанный мною в статье плагин. Только для него не требуется jQueryUI, который все же реже подключают на сайт, чем сам jquery.
Разделяю Ваше мнение, хотя бы потому, что jQuery UI — чертовски увесистая штуковина.
Кстати в отличии от самого jQuery, jQuery UI хорошо разбиваться на нужные нам модули. К примеру приведенном виджете InteractiveTechnology, подключаются только сore и widget, которые не в ужатом виде весят вместе 19к. Но я тоже согласен, что штука тяжелая, но дает и большие возможности при построении интерфейса.
почему бы не использовать один универсальный валидатор, который, кроме прочего, умеет и маски? Т.е. да, он тяжелее конечно, зато решение для всех форм сайта сразу.
jquery.validate: bassistance.de/jquery-plugins/jquery-plugin-validation/
jquery.validate: bassistance.de/jquery-plugins/jquery-plugin-validation/
Да я знаком с этим плагином, но дело в том, что этот плагин только проверяет верные ли ввел пользователь символы, но не запрещает пользователю вводить неразрешенные символы. Мой плагин не претендует на роль валидатора).Я не тестировал, но я думаю он будет прекрасно работать в связке с указанным вами плагином.
Преимущество валидатора в том, что он не вызывается после любого действия пользователя, и тем самым меньше грузит браузер. К тому же зачем лишний раз ограничивать пользователя, если можно вывести ему ненавязчивую подсказку?
По поводу нагрузки на браузер, я особо не волновался бы, пользователь ее не заметит. А на счет ограничение пользователя, плагин я делал для проекта и было условие, что пользователь должен иметь возможности вводить только разрешенные символы. Хотя, если посмотреть на input c type='number', то он действительно разрешает вводить любые символы, и только после потери фокуса возвращает последнее верное значение.
А можно на text-changing проверять валидность текста и отменять, если текст на валиден?
Тогда нам неважно, копипастят текст или ещё как.
Задача же стоит не запретить нажатие клавиш, а запретить невалидный текст.
Тогда нам неважно, копипастят текст или ещё как.
Задача же стоит не запретить нажатие клавиш, а запретить невалидный текст.
А чем не понравился плагин jQuery Masked Input?
Кстати, в HTML5 есть нативная валидация. Правда, IE в пролете.
caniuse.com/#feat=form-validation
caniuse.com/#feat=form-validation
Несколько неожиданное поведение плагина при вставке из буфера float, длина дробной части которого превышает «ожидаемую». Копирую и вставляю во второе поле в демо следующее значение: 10,12345, в результате чего получаю урезание до 10,1. Win 7, Chrome 16.0.912.75 m
Так получается, потому что в плагине есть опция значение по умолчанию, сейчас в примере для дробный чисел стоит 10.1, и если вставляемое число не подходит под выражение, то вставляется значение по умолчанию.
Sign up to leave a comment.
Плагин для маски ввода чисел в input