Ответ 1
Вы можете попробовать это
<Label>ZIP Code</Label><input type="text" pattern="[0-9]{5}" title="Five digit zip code" />
Лучше ли использовать атрибут "text" с ограничением количества символов или я могу использовать атрибут number во вводе для zip-кода.
Просто пытаюсь разобраться во всех разных атрибутах с формами в html5. Приветствия
Вы можете попробовать это
<Label>ZIP Code</Label><input type="text" pattern="[0-9]{5}" title="Five digit zip code" />
"Должно" - это сильное слово, но на самом деле есть выражение класса "should" для таких вопросов. HTML5 CR говорит о input type=number
:
Примечание: Состояние type = number не подходит для ввода, которое происходит только из чисел, но не является строго говоря номер. Например, было бы нецелесообразно использовать номера кредитных карт или почтовых индексов США. Простой способ определить, следует ли использовать type = number - рассмотреть вопрос о том, будет ли это иметь смысл для ввода чтобы иметь интерфейс спинбона (например, с "вверх" и "вниз", стрелки).
Средство означает, что единственным возможным для этой цели элементом является input type=text
при использовании встроенных конструкций. Вы можете использовать атрибут maxlength
для установки максимального количества символов (работает во всех браузерах) и дополнительно атрибута pattern
, который также задает допустимые символы и комбинации; его значение, естественно, зависит от типа (типа) zipcode, который будет использоваться. Для международных почтовых адресов вы, вероятно, не должны использовать pattern
или даже maxlength
, так как форматы меняются.
Если у вас есть международные пользователи, вам нужно будет разрешить буквенное число с помощью type = "text"
Пример: Почтовые индексы Великобритании отформатированы как AA9A 9AA
9 = любое число
A = любая буква
Я согласен с использованием pattern
. Однако я бы сбросил label
и пошел с placeholder
. Это, вероятно, будет проще для мобильных устройств.
<input type="text" placeholder= "Zip Code" pattern= "[0-9]{5}" />
Edit:
Я не верю, что мой ответ - это мнение. Это довольно стандартно для мобильных устройств. Вы можете сохранить ярлык. Там нет ничего плохого. Фактически, ваш код может реагировать на устройство. Таким образом, вы можете использовать как ярлык, так и placeholder на настольных версиях и переключаться только на placeholder для мобильных устройств.
Вы можете использовать их, и форма будет работать. Однако лучше использовать номер, потому что, например, мобильные устройства будут ссылаться на другую раскладку клавиатуры - с числами и вспомогательными символами вместо полной клавиатуры алфавита.
Но, если вы считаете, что установка одного типа в отличие от другого предложит более высокий уровень безопасности, вы ошибаетесь. Независимо от того, какой тип вы ставите, он предложит вам нет. Каждый вход формы должен быть проверен на сервере, а также - там, где происходит реальная проверка безопасности. Проверка, которую вы выполняете в браузере, больше связана с UI/UX.
Вот хорошая статья о разных типах ввода: http://html5doctor.com/html5-forms-input-types/
Существуют разные варианты моего POV, но я думаю, что лучшее уже дано Md Johorul Islam: атрибут pattern
.
Параметры:
attribute
);type=text
с maxlength
.Примечание. Несмотря на эти параметры: всегда проверяйте серверную сторону!