Задать вопрос
@Esm322

Как сделать ввод для инпута только кириллицы без jquery и регулярного выражения?

Есть инпут, необходимо, чтобы вводились только кириллица и знаки, пример кода:

const $inputName = document.getElementById('input-name');

const arr = [
  'а', 'б', 'в', 'г', 'д', 'е', 'ё',
  'ж', 'з', 'и', 'й', 'к', 'л', 'м',
  'н', 'о', 'п', 'р', 'с', 'т', 'у',
  'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'э',
  'ю', 'я', 'ы', 'А', 'Б', 'В', 'Г',
  'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К',
  'Л', 'М', 'Н', 'О', 'П', 'Р', 'С',
  'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш',
  'Щ', 'Э', 'Ю', 'Я', 'Ы', 'Д',
];

$inputName.addEventListener('keypress', event => {
  const newValue = event.target.value + event.key;
  for (const item of arr) {
    if (newValue === item) {
      console.log(newValue);
    } else if (!item.startsWith(newValue)) {
      event.preventDefault()
    }
  }
});

Что неправильно написано?
  • Вопрос задан
  • 608 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@Snoz3f
https://codesandbox.io/s/clever-burnell-ktjnwv?fil...

Это нужно делать не через массив символов, а через коды символов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
19 дек. 2024, в 02:11
15000 руб./за проект
19 дек. 2024, в 02:09
11000 руб./за проект
19 дек. 2024, в 00:46
30000 руб./за проект