Как запретить ввод символов в поле input и textarea?
Скажите как можно запретить ввод всех символов при этом разрешить пользователю вводить цифры, русские буквы и английские. Мне нуэно что бы символы типа тире, точек слешей и прочего при нажатии на клавиатуре вообще не выводились. Или что бы поле подсвечивалось красным, сообщая о ошибке ввода.
Знаю одно, что определить событие нажатия клавиши можно на jQuery — keypress.
Вот код на jquery который запретит ввод символов в поле с id «#signup_username»
Запрет символов
jQuery(document).on('keypress', '#signup_username', function(key) { //console.log(key.charCode); if( ((key.charCode <= 47) && (key.charCode >= 32)) || (key.charCode == 64) || (key.charCode == 94) || (key.charCode == 92) || (key.charCode == 58) || (key.charCode == 59) || (key.charCode == 63) || (key.charCode == 8470) || (key.charCode == 61) || (key.charCode == 95) || (key.charCode == 124) || (key.charCode == 62) || (key.charCode == 60) || (key.charCode == 91) || (key.charCode == 93) || (key.charCode == 123) || (key.charCode == 125) ) { return false; } });
Запрет русских букв:
((key.charCode <= 1103) && (key.charCode >= 1072))
Подскажите, пожалуйста, как разрешить ввод точки при любой раскладке клавиатуры? У меня сейчас так:
function() { return this.each(function() { $(this).keydown(function(e) { var key = e.charCode || e.keyCode || 0; // Разрешаем backspace, tab, delete, стрелки, обычные цифры и цифры на дополнительной клавиатуре return ( key == 190 || key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105)); }); }); };
Точку можно ввести только при латинской раскладке, а это неудобно.

Сделайте вывод кода символа
console.log(e.charCode);
затем добавьте его в условие проверки