Для ограничения ввода на инпуте только кириллицы без использования jQuery и регулярных выражений, можно воспользоваться событиями клавиатуры, такими как keydown
и keypress
, и проверять значение каждого нажатия на соответствие кириллице.
Вот пример JavaScript кода, который позволяет ограничить ввод только кириллицей на инпуте:
// Получаем ссылку на инпут и добавляем обработчики событий var input = document.getElementById('my-input'); input.addEventListener('keydown', restrictInput); input.addEventListener('keypress', restrictInput); // Функция, которая проверяет значение каждого нажатия function restrictInput(event) { // Получаем нажатую клавишу var key = event.key || String.fromCharCode(event.keyCode); // Проверяем, является ли нажатая клавиша кириллицей if (!isCyrillic(key)) { // Если клавиша не является кириллической, отменяем событие event.preventDefault(); } } // Функция, которая проверяет, является ли символ кириллическим function isCyrillic(char) { // Получаем Unicode символа var charCode = char.charCodeAt(0); // Проверяем, находится ли символ в диапазоне кириллицы if ((charCode >= 1040 && charCode <= 1103) || charCode === 1025 || charCode === 1105) { return true; } return false; }
В данном примере мы получаем ссылку на инпут по его id
, добавляем обработчики событий keydown
и keypress
, и каждый раз, когда происходит нажатие клавиши на инпуте, вызывается функция restrictInput
. В этой функции мы проверяем, является ли нажатая клавиша кириллической, используя функцию isCyrillic
. Если клавиша не является кириллической, мы отменяем событие с помощью метода preventDefault
.
Функция isCyrillic
принимает символ в качестве аргумента и проверяет его код Unicode. Если код символа находится в диапазоне кириллицы или соответствует символам "Ё" (1025) и "ё" (1105), функция возвращает true
, в противном случае возвращает false
.
Используя эту реализацию, вы сможете ограничить ввод только кириллицей на вашем инпуте.