Как извлечь любую вставленную строку в тип ввода 'number' в html

Есть ли способ получить вставленную строку (любого вида) из:

<input type="number" id='zipCode' name='zipcode' />

Я пытаюсь получить значение в консоли как:

console.log(document.getElementbyId('zipCode').value);

дает только пустой вывод, когда вставляется какая-либо недопустимая строка (строка, содержащая любой алфавит или другие специальные символы), которая также совпадает с фактическим оставлением поля. Но я хочу получить фактическое вставленное значение, чтобы я мог различать и проверять пустое поле с сообщением об ошибке "Поле почтового индекса Пусто!" и в недопустимой строке с сообщением об ошибке "Недействительный индексный код!" . Есть ли способ получить какую-либо вставленную строку из поля input type = 'number'?

Ответ 1

Поля ввода HTML, используемые для Zip-кодов, должны быть text = text и использовать атрибут pattern для предоставления подсказок браузеру

Числовой почтовый индекс - в малой степени - вводящий в заблуждение.

Числа должны означать что-то числовое. Почтовые индексы не добавляют или не вычитают или не участвуют в каких-либо числовых операциях. 12309 - 12345 не вычисляет расстояние от центра города Скенектади до моего квартала.

Почтовые индексы не являются номерами - они просто кодируются с ограниченным алфавитом - я предлагаю избегать числового поля. То же самое касается кредитной карты или социального номера

Вы можете сделать <input type="text" pattern="\d*">. Это приведет к появлению цифровой клавиатуры на iOS (и Android?). Возможно, это было pattern="[0-9]*"

"Семантически правильная разметка для текстового поля, которое все еще может быть содержат пробелы и другие специальные символы <input type="text" inputmode="numeric"/>, однако, насколько мне известно, в то время как inputmode рекомендованный WhatWG, он пока не поддерживается ни одним браузером. это Цель состоит в том, чтобы представить пользователю цифровую клавиатуру на устройстве, которое имеет это, но все еще ведет себя как текстовый ввод." - davidelrizzo