Hoshinokoe,
я знаю события клавиатуры, в ссылке которую я кидал
http://learn.javascript.ru/events-and-timing-depth
чуть ниже приведено решение, именно с onKeyPress, но под себя у меня его переделать не получается.
preventDefault для меня не подойдёт т.к. при вставке текста через Ctrl + V (если в нем присутствуют запрещённые символы) предотвратится вставка всей строки, а не только запрещённых символов