Приветствую всех.У меня есть следующая функция для проверки ввода в зависимости от того, является ли он числовым, буквенным, буквенно-цифровым и электронным адресом:
function permite(e, permitidos) {
var key = e.keyCode || e.which;
//Validate if its an arrow or delete button
if((key == 46) || (key == 8) || (key >= 37 && key <= 40))
return true;
var keychar = String.fromCharCode(key);
switch(permitidos) {
case 'num':
permitidos = /^[0-9]$/;
break;
case 'car':
permitidos = /^[\sa-zA-Z]$/;
break;
case 'num_car':
permitidos = /^[\sa-zA-Z0-9]$/;
break;
case 'correo':
permitidos = /^[a-zA-Z0-9._\-+@]$/;
break;
}
return permitidos.test(keychar);
}
Имена переменных написаны на испанском языке, но их легко понять.
Проблемаэто следующее.Код клавиши для «%» 37 такой же, как стрелка влево, а код клавиши для «(» - 40 такой же, как стрелка вправо. Так что моя функция не проверяет «%» и «(», и это отстой. Я не знаючто делать, помогите пожалуйста.