Вы можете использовать тип number
, представленный в HTML5:
<input type="number" min="0" max="9999999">
Он не поддерживается везде, но вы можете добавить запасной вариант для IE с помощью события input.onpropertychange
и проверить наличие window.event.propertyName == 'value'
внутриобработчик для прослушивания любых изменений в поле ввода.
Для других браузеров вы можете попробовать событие "input".Или просто подтвердите и измените значение blur
, чтобы оно было более приятным для пользователя.
Как уже упоминали другие, считается плохой практикой делать это в качестве пользовательских типов.Атрибут number
добавляет довольно приличный способ справиться с этим самостоятельно.