Чтобы ограничить эти ценности, захватить событие нажатия клавиш с помощью javascript и предотвратить ввод этих символов. Мы фиксируем keyCode из события и ограничиваем ввод, чтобы эти символы не позволяли их кодами ASCII.
document.getElementById('my-number-input').onkeypress = function(e) {
if(!e) e = window.event;
var keyCode = e.keyCode || e.which;
if(!((keyCode >= 48 && keyCode <= 57) ||
(keyCode >=96 && keyCode <= 105))) {
e.preventDefault(); //This stops the character being entered.
}
}
Оператор IF выше утверждает, что если скан не находится в диапазоне 0-9 на клавиатуре (включая цифровую клавиатуру), то не добавляйте символ ввода.
Возможный дубликат [как заблокировать или ограничить специальные символы из полей ввода с помощью jquery?] (Http://stackoverflow.com/questions/895659/how-do-i-block-or-restrict-special-characters -from-input-fields-with-jquery) – elementzero23
@ elementzero23: Это не вопрос jQuery. –
Это действительно хороший вопрос, и я надеюсь, что W3C когда-нибудь придумает решение для HTML. – Turbo