Как запретить ввод символов в поле 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);

затем добавьте его в условие проверки

в 30.03.2017.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.