Этот метод предназначен для предотвращения ввода пользователями чего-либо, кроме цифр и «разрешенных символов». Разрешенные символы передаются как параметр allowedchars
.
Пока что метод предотвращает ввод чисел, но разрешенные символы не работают (попытка передать «-» (дефис) и «.» (Точка)). Поэтому я предполагаю, что моя конструкция динамического регулярного выражения неверна. Помогите?
Заранее спасибо!
numValidate : function (evt, allowedchars) {
var theEvent, key, regex,
addToRegex = allowedchars;
theEvent = evt || window.event;
key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode(key);
var regex = new RegExp('/^[0-9' + addToRegex + ']$/');
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault) {
theEvent.preventDefault();
}
}
}
(пс. Решения jQuery тоже хороши)