Есть ли у HTML5 какое-либо маскирование текстового поля или мне еще нужно уловить onkeydown
и т.д.?
jbabey прав - "маскировка", как в блокировании некоторых незаконных символов, а не скрытие того, что напечатано.
Лучший (как простейший и самый надежный) способ, которым я нашел, - это ловушка onkeyup
, а затем просто запустите замену регулярного выражения на значение текстового поля, удалив любые незаконные символы.
Это имеет несколько преимуществ:
- Легко реализовать (одна функция, две строки кода).
- Он надежный и охватывает все случаи, о которых я думал.
- Он не блокирует ключевые команды, такие как копирование/вставка, выбор всех или клавиш со стрелками.
Но его основным недостатком является то, что он кратко показывает типизированные символы (символы), прежде чем их удалять, что делает его очень грубым и непрофессиональным.