Я думаю, что проверка keypress
событий не совсем адекватна, так как я считаю, что пользователи могут копировать / вставлять в поля ввода без нажатия клавиши.
Так что onblur
, вероятно, несколько более надежно (но не так быстро).
Чтобы действительно убедиться, что символы, которые вам не нужны, не введены в поля ввода (или текстовые области и т. Д.), Я думаю, вам понадобится
- отметьте
keypress
(если вы хотите получить немедленную обратную связь) и
- также проверьте
onblur
,
- , а также проверка входных данных на сервере (это единственный реальный способ убедиться, что ничего не попадает в ваши данные).
Примеры кода в других ответах будут хорошо работать для выполнения проверок на стороне клиента (только не полагайтесь только на проверку keypress
событий), но, как было указано в принятом ответе действительно требуется проверка на стороне сервера.