Есть два способа проверить правильность.
inputElement.checkValidity()
возвращает true
или false
inputElement.validity
возвращает объект состояния действительности.inputElement.validity.valid
возвращает true/false
Вместо использования keyup вы также можете использовать событие 'input'.Все браузеры, которые реализовали API проверки ограничений, также реализовали событие ввода.
Если вы используете опцию 1 выше, Opera имеет ошибку здесь и покажет подсказку о проверке.Поэтому вы должны использовать 2.
Я создал библиотеку форм html5, которая реализует все неизвестные функции для неспособных браузеров + устраняет проблемы в браузерах HTML5.Так что все работает так, как определено в спецификации, но он построен поверх jQuery.(http://afarkas.github.com/webshim/demos/index.html).