Атрибут pattern тега | HTML справочник
HTML тег <input>Значение и применение
Атрибут pattern (HTML тега <input>) задает регулярное выражение, которое сверяется со значением введёным в элементе. Синтаксис регулярного выражения соответствует языку JavaScript. Только для элементов управления следующих типов: text, search,tel,url,email и password (остальные игнорируются).
Если вы планируете использовать регулярные выражения, то обязательно используйте глобальный HTML атрибут title, введенная в нем информация будет отображена пользователю, если введеное в элемент значение не будедт удовлетворять шаблону, указанному в регулярном выражении (пример ниже).
Подробную информацию о регулярных выражениях в JavaScript вы можете найти на сайте Mozilla Developer Network.
Поддержка браузерами
Атрибут | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
pattern | Да | Да | Да | Да | 10. 0 | Да |
Синтаксис:
<input pattern = "regexp">
Значения атрибута
Значение | Описание |
---|---|
regexp | Определяет регулярное выражение, которое сопостовляет значение, введеное в элемент управления с шаблоном, установленным в выражении. |
Отличия HTML 4.01 от HTML 5
Атрибут pattern считается новым в HTML 5.Пример использования
<!DOCTYPE html> <html> <head> <title>Использование атрибута pattern HTML тега <input></title> </head> <body> <form> <!-- создаем форму --> <label>Ваш логин<input type = "text" name = "login" pattern = "[A-Za-z0-9]{6,}" title = "Логин не может быть короче шести латинских символов."></label><br> <!-- поле для ввода текстовой информации --> <label>Ваш пароль<input type = "password" name = "pswd" pattern = "(?=.*\d)(?=. *[a-z])(?=.*[A-Z]).{8,}" title = "Пароль не может быть короче восьми символов и должен содержать хотя бы одну цифру, одну маленькую и одну большую латинскую букву."></label><br> <!-- поле для ввода пароля --> <input type = "submit" value = "регистрация"> <!-- кнопка для отправки формы --> </form> </body> </html>
В данном примере мы создали форму (HTML тег <form>). Внутри формы мы поместили три элемента управления <input>, которые позволяют ввести текстовую информацию, указать пароль и отправить нашу форму.
Для элемента управления, предназначенного для ввода текстовой информации с помощью атрибута pattern мы указали регулярное выражение, которое определяет, что значение поля не может быть короче шести латинских символов. Для элемента управления, предназначенного для ввода пароля мы указали регулярное выражение, которое определяет, что значение не может быть короче восьми символов и должно содержать хотя бы одну цифру, одну маленькую и одну большую латинскую букву.
Обратите внимание, что если значение не совпадает с шаблоном, то пользователь увидит информацию, находящуюся внутри глобального HTML атрибута title.
Результат нашего примера:
Пример использования атрибута pattern HTML тега <input>HTML тег <input>HTML pattern Attribute
<HTML <input> Тег
пример
HTML форма с полем ввода, которое может содержать только три буквы (нет цифр или специальных символов):
<form action=»demo_form.asp»>
Country code: <input type=»text» name=»country_code»
pattern=»[A-Za-z]{3}»
title=»Three letter country code»>
<input type=»submit»>
</form>
Попробуй сам «
Больше «Попробуйте сами» примеры ниже.
Определение и использование
pattern атрибут определяет регулярное выражение , что <input> значение элемента проверяется.
Примечание: pattern атрибут работает со следующими типами ввода: text, date, search, url, tel, email и password .
Совет: Используйте глобального title атрибут для описания шаблона , чтобы помочь пользователю.
Подсказка: Узнайте больше о регулярных выражениях в нашем JavaScript учебнике.
Поддержка браузеров
Числа в таблице указать первую версию браузера, который полностью поддерживает атрибут.
Атрибут | |||||
---|---|---|---|---|---|
pattern | 5.0 | 10,0 | 4.0 | Не поддерживается | 9.6 |
Отличия между HTML 4.01 и HTML5
pattern атрибута является новым в HTML5.
Синтаксис
<input pattern=»regexp«>
значения атрибутов
Стоимость | Описание |
---|---|
regexp | Задает регулярное выражение , что <input> значение элемента проверяется |
Еще примеры
пример
<input> элемент с type=»password» , который должен содержать не менее 6 символов:
<form action=»demo_form. asp»>
Password: <input type=»password» name=»pw» pattern=».{6,}» title=»Six or
more characters»>
<input type=»submit»>
</form>
Попробуй сам «
пример
<input> элемент с type=»password» , который должен содержать 8 или более символов, которые , по крайней мере , один номер и один прописных и строчных букв:
<form action=»demo_form.asp»>
Password: <input
type=»password» name=»pw» pattern=»(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}» title=»Must contain
at least one number and one uppercase and lowercase letter, and at least 8
or more characters»>
</form>
Попробуй сам «
пример
<input> элемент с type=»email» , который должен быть в следующем порядке: символы @ символов. доменов (символы следуют символ @, за которым следует более символов, а затем «. ‘\x22]+» title=»Invalid input»>
<input type=»submit»>
</form>
Попробуй сам «
пример
<input> элемент с type=»url» , который должен начинаться с http:// или https:// следует , по крайней мере , один символ:
<form action=»demo_form.asp»>
Homepage:
<input type=»url» name=»website» pattern=»https?://.+» title=»Include
http://»>
</form>
Попробуй сам «
<HTML <input> Тег
Атрибут шаблона для полей ввода
Могу ли я использовать
Поиск?
Атрибут шаблона для полей ввода
— ЛСГлобальное использование
98,38% + 0,16% знак равно 98,54%
Позволяет проверять поле ввода на основе заданного шаблона регулярного выражения.
Хром
- 4 — 9: Not supported
- 10 — 107: Supported
- 108: Supported
- 109 — 111: Supported
Edge
- 12 — 107: Supported
- 108: Supported
Safari
- 3.1 — 4: Not supported
- 5: Support unknown
- 5.1 — 10: Partial support
- 10.1 — 16.1: Supported
- 16.2: Supported
- 16.3 — TP: Supported
Firefox
- 02% — Not supported»> 2 — 3,6: не поддерживается
- 4 — 106: Поддерживается
- 107: Поддерживается
- 108 — 109: Поддерживается
Opera
- 9: не поддержано
- 9.5 — 68% — Supported»>
- : не поддерживается
- 9001:
- :
IE
- 5.5 — 9: Not supported 01% — Supported»> 10: Supported
- 11: Supported
Chrome for Android
- 108: Supported
Safari on iOS
- 3.2 — 4.3: Support unknown
- 5 — 10.2: Partial support
- 10.3 — 16.1: Supported
- 16.2: Supported
- 16.3: Supported
Samsung Internet
- 4 — 18.0: Supported
- 19.0: Supported
Opera Mini
- все: не поддерживается
Opera Mobile
- 10–12. 1: поддерживается
- 72: поддерживается
UC Browser для Android
- 13.4: поддерживается0013 Browser Android
- 2,1 — 4,4: не поддерживается
- 4.4.3: Поддерживается
- 108: Поддерживается
Firefox для Android
- 107: Поддержка
QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ QQ
- . Браузер Baidu
- 13.18: Поддерживается
Браузер KaiOS
- 2.5: Поддерживается
- Ресурсы:
- 0173
- Сайт с общими примерами шаблонов
html — Как использовать шаблон на входе[type=»number»]?
спросил
Изменено 7 лет, 1 месяц назад
Просмотрено 10 тысяч раз
Я хочу, чтобы значение по умолчанию было равно 0, и перекрасить ввод, если оно больше 0, используя 9[1-9]\d*$» type=»text» value=»0″ />
- html
- css
- validation
- input
Ссылка MDN на свойство
pattern
(выделение добавлено) :узор
Регулярное выражение, по которому проверяется значение элемента управления. Шаблон должен соответствовать всему значению, а не только некоторому подмножеству. Использовать атрибут title для описания шаблона, чтобы помочь пользователю. Это атрибут применяется, когда значением атрибута type является текст, поиск, тел, URL или электронная почта; в противном случае он игнорируется. Обычный язык выражений такой же, как в JavaScript. Шаблон не окруженный косой чертой.
Интересно, что я не могу найти упоминания об этом ни в стандартах W3C, ни в WhatWG.
3
Я вижу, что если вы дадите минимальное значение 1, цвет не будет зеленым для 0. Цвет изменится на зеленый, когда вы введете 1. Я думаю, это то, что вы ожидаете, верно?
В принципе, вы можете использовать минимальные и максимальные значения для целей проверки. Я не думаю, что вам нужен шаблон для этого.
Здесь есть одно ограничение.