Какой атрибут html5 должен использоваться для zipcode?

Лучше ли использовать атрибут "text" с ограничением количества символов или я могу использовать атрибут number во вводе для zip-кода.

Просто пытаюсь разобраться во всех разных атрибутах с формами в html5. Приветствия

Ответы

Ответ 1

Вы можете попробовать это

<Label>ZIP Code</Label><input type="text" pattern="[0-9]{5}" title="Five digit zip code" />

Ответ 2

"Должно" - это сильное слово, но на самом деле есть выражение класса "should" для таких вопросов. HTML5 CR говорит о input type=number:

Примечание: Состояние type = number не подходит для ввода, которое происходит только из чисел, но не является строго говоря номер. Например, было бы нецелесообразно использовать номера кредитных карт или почтовых индексов США. Простой способ определить, следует ли использовать type = number - рассмотреть вопрос о том, будет ли это иметь смысл для ввода чтобы иметь интерфейс спинбона (например, с "вверх" и "вниз", стрелки).

Средство означает, что единственным возможным для этой цели элементом является input type=text при использовании встроенных конструкций. Вы можете использовать атрибут maxlength для установки максимального количества символов (работает во всех браузерах) и дополнительно атрибута pattern, который также задает допустимые символы и комбинации; его значение, естественно, зависит от типа (типа) zipcode, который будет использоваться. Для международных почтовых адресов вы, вероятно, не должны использовать pattern или даже maxlength, так как форматы меняются.

Ответ 3

Если у вас есть международные пользователи, вам нужно будет разрешить буквенное число с помощью type = "text"

Пример: Почтовые индексы Великобритании отформатированы как AA9A 9AA

9 = любое число

A = любая буква

Ответ 4

Я согласен с использованием pattern. Однако я бы сбросил label и пошел с placeholder. Это, вероятно, будет проще для мобильных устройств.

<input type="text" placeholder= "Zip Code" pattern= "[0-9]{5}" />

Edit:

Я не верю, что мой ответ - это мнение. Это довольно стандартно для мобильных устройств. Вы можете сохранить ярлык. Там нет ничего плохого. Фактически, ваш код может реагировать на устройство. Таким образом, вы можете использовать как ярлык, так и placeholder на настольных версиях и переключаться только на placeholder для мобильных устройств.

Ответ 5

Вы можете использовать их, и форма будет работать. Однако лучше использовать номер, потому что, например, мобильные устройства будут ссылаться на другую раскладку клавиатуры - с числами и вспомогательными символами вместо полной клавиатуры алфавита.

Но, если вы считаете, что установка одного типа в отличие от другого предложит более высокий уровень безопасности, вы ошибаетесь. Независимо от того, какой тип вы ставите, он предложит вам нет. Каждый вход формы должен быть проверен на сервере, а также - там, где происходит реальная проверка безопасности. Проверка, которую вы выполняете в браузере, больше связана с UI/UX.

Вот хорошая статья о разных типах ввода: http://html5doctor.com/html5-forms-input-types/

Ответ 6

Существуют разные варианты моего POV, но я думаю, что лучшее уже дано Md Johorul Islam: атрибут pattern.

Параметры:

  • Используйте регулярное выражение (шаблон attribute);
  • Используйте пользовательский (jQuery) маска, например jQuery mask;
  • Для платформ, где это не поддерживается, используйте type=text с maxlength.

Примечание. Несмотря на эти параметры: всегда проверяйте серверную сторону!