Кратко
СкопированоВ атрибуте pattern
пишется регулярное выражение, которому должно соответствовать введённое в <input>
значение.
Пример
СкопированоВ этом примере браузер проверит перед отправкой формы, что пароль не меньше 6 символов в длину:
<form> <input type="password" pattern=".{6,}"> <button>Отправить</button><form>
<form> <input type="password" pattern=".{6,}"> <button>Отправить</button> <form>
Как пишется
СкопированоАтрибут pattern
можно применить только к тегам <input>
и только со следующими значениями атрибута type
:
text
;tel
;email
;url
;password
;search
.
Значением должно быть регулярное выражение, по которому браузер перед отправкой формы будет проверять то, что введено в поле. Если значение не соответствует регулярному выражению браузер покажет всплывающую подсказку с ошибкой. Механизм с ошибкой сработает только при отправке поля из «настоящей» формы с тегом <form>
, без формы вам придётся проверять поле самостоятельно.
Текст всплывающей подсказки можно дополнить при помощи атрибута title
. Большинство браузеров покажут этот текст вместе с ошибкой. В примере ниже в подсказке помимо стандартного текста будет написано «Минимум 6 символов».
<label> Придумайте пароль: <input type="password" pattern=".{6,}" title="Минимум 6 символов"></label>
<label> Придумайте пароль: <input type="password" pattern=".{6,}" title="Минимум 6 символов"> </label>
На практике
Скопированосоветует Скопировано
🛠 Лучше не писать слишком строгие паттерны для проверки значений. Вы никогда не сможете предугадать все возможные сценарии. Например, на многих сайтах формы настроены так, что я не могу ввести своё имя через Ё. В регулярном выражении не прописано, что это допустимый символ. Проверяйте только то, что действительно необходимо. К примеру, для валидации имейла достаточно проверить, что в тексте есть символ @
.