Type email input: 🤷🏽‍♀️ Page not found | MDN Web Docs

Содержание

Адрес электронной почты | htmlbook.ru

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

Синтаксис создания поля следующий.

<input type="email" атрибуты>

Атрибуты по большей части совпадают с текстовым полем и приведены в табл. 1.

Табл. 1. Атрибуты поля для почтового адреса

АтрибутОписание
maxlengthУстанавливает максимальное число символов, которое может быть введено пользователем в поле. Когда это количество достигается при наборе, дальнейший ввод становится невозможным. Если этот атрибут опустить, то можно вводить строку длинее самого поля.
multipleПозволяет указывать несколько адресов через запятую.
nameИмя поля, предназначено для того, чтобы обработчик формы мог его идентифицировать.
sizeШирина поля, которая определяется числом символов моноширинного шрифта. Иными словами, ширина задается количеством близстоящих букв одинаковой ширины по горизонтали.
valueНачальный почтовый адрес отображаемый в поле.

По сравнению со значением text, добавлен атрибут multiple, который позволяет вводить сразу несколько почтовых адресов.

В примере 1 показано применение значения email для создания формы авторизации на сайте, где в качестве логина указывается адрес электронной почты.

Пример 1. Адрес электронной почты

HTML5IE 10+CrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Авторизация на сайте</title>
 </head>
 <body>
  <form action="handler.php">
   <p>Вход на сайт</p>
   <p>Email: <input type="email" name="login"></p>
   <p>Пароль: <input type="password" name="pass"></p>
   <p><input type="submit" value="Вход"></p>
  </form>
 </body>
</html>

По своему виду поле для ввода адреса ничем не отличается от текстового поля.

Различия проявляются, если указать некорректный адрес, в этом случае браузер выведет замечание об ошибке. Firefox поле с неверным адресом обозначает красной рамкой и сообщением об ошибке при отправке формы (рис. 1), Chrome никак сразу не выделяет поле с ошибкой, но выводит сообщение при отправке формы (рис. 2). Аналогично поступает и Opera (рис. 3). Сама форма на сервер не отправляется, пока ошибка не будет исправлена.

Рис. 1. Отправка формы в Firefox

Рис. 2. Отправка формы в Chrome

Рис. 3. Отправка формы в Opera

Другие популярные браузеры (IE, Safari) интерпретируют поле для адреса электронной почты как текстовое.

Типы входных данных HTML уроки для начинающих академия



В этой главе описываются различные типы входных данных для элемента <input>.


Текст типа ввода

<input type="text"> определяет одно строчное текстовое поле ввода:

Пример

<form>
  Имя:<br>
  <input type="text" name="firstname"><br>

  Фамилия:<br>
  <input type="text" name="lastname">
</form>

Таким образом, HTML-код выше будет отображаться в браузере:

Имя:

Фамилия:


Пароль типа ввода

<input type="password"> Определяет поле пароля:

Пример

<form>
  User name:<br>
  <input type="text" name="username"><br>
  User password:<br>
  <input type="password" name="psw">
</form>

Таким образом, HTML-код выше будет отображаться в браузере:

Имя пользователя:

Пароль пользователя:

Символы в поле пароля замаскированы (отображаются как звездочки или круги).



Тип ввода отправить

<input type="submit"> Определяет кнопку для Отправка данных формы в обработчик форм.

Обработчик форм обычно является серверной страницей со сценарием для обработки входных данных.

Обработчик формы указан в атрибуте action формы:

Пример

<form action="/action_page.php">

  First name:<br>
  <input type="text" name="firstname" value="Mickey"><br>
  Last name:<br>
  <input type="text" name="lastname" value="Mouse"><br><br>
  <input type="submit" value="Submit">
</form>

Таким образом, HTML-код выше будет отображаться в браузере:

Если опустить атрибут value кнопки Submit, кнопка получит текст по умолчанию:

Пример

<form action="/action_page.php">
  First name:<br>
  <input type="text" name="firstname" value="Mickey"><br>
  Last name:<br>
  <input type="text" name="lastname" value="Mouse"><br><br>
  <input type="submit">
</form>


Сброс типа ввода

<input type="reset"> Определяет кнопку сброса , которая сбрасывает все значения формы в значения по умолчанию:

Пример

<form action="/action_page. php">
  First name:<br>
  <input type="text" name="firstname" value="Mickey"><br>

  Last name:<br>
  <input type="text" name="lastname" value="Mouse"><br><br>
  <input type="submit" value="Submit">
  <input type="reset">
</form>

Таким образом, HTML-код выше будет отображаться в браузере:

При изменении входных значений и нажатии кнопки "Сброс" данные формы будут сброшены на значения по умолчанию.


Тип входного сигнала радио

<input type="radio"> Определяет переключатель.

Переключатели позволяют пользователю выбрать только одно из ограниченного числа вариантов:

Пример

<form>
  <input type="radio" name="gender" value="male" checked> Male<br>
  <input type="radio" name="gender" value="female"> Female<br>
  <input type="radio" name="gender" value="other"> Other
</form>

Таким образом, HTML-код выше будет отображаться в браузере:

Male
Female
Other

Флажок "тип ввода"

<input type="checkbox"> Определяет CheckBox.

Флажки позволяют пользователю выбрать ноль или более вариантов ограниченного числа вариантов.

Пример

<form>
  <input type="checkbox" name="vehicle1" value="Bike"> I have a bike<br>
  <input type="checkbox" name="vehicle2" value="Car"> I have a car
</form>

Таким образом, HTML-код выше будет отображаться в браузере:

I have a bike
I have a car

Кнопка ввода типа

<input type="button"> Определяет кнопку:

Пример

<input type="button" value="Click Me!">

Таким образом, HTML-код выше будет отображаться в браузере:


Типы входных данных HTML5

HTML5 добавил несколько новых типов ввода:

  • color
  • date
  • datetime-local
  • email
  • month
  • number
  • range
  • search
  • tel
  • time
  • url
  • week

Новые типы ввода, которые не поддерживаются старыми веб-обозревателями, будут вести себя как <input type="text"> .


Цвет входного типа

<input type="color"> используется для полей ввода, которые должны содержать цвет.

В зависимости от поддержки обозревателя в поле ввода может отображаться палитра цветов.


Тип ввода Дата

<input type="date"> используется для полей ввода, которые должны содержать дату.

В зависимости от поддержки обозревателя в поле ввода может отображаться выбор даты.

Можно также использовать атрибуты min и max для добавления ограничений дат:


Входной тип DateTime-локальный

<input type="datetime-local"> задает поле ввода даты и времени без часового пояса.

В зависимости от поддержки обозревателя в поле ввода может отображаться выбор даты.


Тип ввода электронной почты

<input type="email"> используется для полей ввода, которые должны содержать адрес электронной почты.

В зависимости от поддержки браузера, адрес электронной почты может быть автоматически проверен при отправке.

Некоторые смартфоны распознавать тип электронной почты и добавляет ". com" на клавиатуре для сопоставления ввода электронной почты.


Тип входного месяца

<input type="month"> позволяет пользователю выбрать месяц и год.

В зависимости от поддержки обозревателя в поле ввода может отображаться выбор даты.


Тип входного номера

<input type="number"> определяет Числовое поле ввода.

Вы также можете установить ограничения на то, какие номера принимаются.

В следующем примере отображается числовое поле ввода, в котором можно ввести значение от 1 до 5:


Ограничения ввода

Ниже приведен список некоторых распространенных ограничений ввода (некоторые из них являются новыми в HTML5):

Атрибут Описание
disabled Указывает, что поле ввода должно быть отключено
max Задает максимальное значение для поля ввода
maxlength Указывает максимальное число символов для поля ввода
min
Задает минимальное значение для поля ввода
pattern Задает регулярное выражение для проверки входного значения на
readonly Указывает, что поле ввода предназначено только для чтения (не может быть изменено)
required Указывает, что поле ввода является обязательным (должно быть заполнено)
size Задает ширину (в символах) поля ввода
step Задает юридические интервалы номеров для поля ввода
value Задает значение по умолчанию для поля ввода

Подробнее об ограничениях ввода вы узнаете в следующей главе.

В следующем примере отображается числовое поле ввода, в котором можно ввести значение от 0 до 100 в шагах 10. Значение по умолчанию равно 30:


Диапазон входного типа

<input type="range"> определяет элемент управления для ввода числа, точное значение которого не имеет значения (например, элемент управления Slider). Диапазон по умолчанию — от 0 до 100. Однако можно установить ограничения на то, какие номера принимаются с атрибутами

min, max и step:


Поиск типа ввода

<input type="search"> используется для полей поиска (поле поиска работает как обычное текстовое поле).


Тип ввода тел

<input type="tel"> используется для полей ввода, которые должны содержать телефонный номер.

Примечание: Тип Tel в настоящее время поддерживается только в Safari 8.


Время ввода типа

<input type="time"> позволяет пользователю выбрать время (без часового пояса).

В зависимости от поддержки обозревателя в поле ввода может отображаться средство выбора времени.


URL-адрес типа ввода

<input type="url"> используется для полей ввода, которые должны содержать URL-адрес.

В зависимости от поддержки браузера, поле URL может быть автоматически проверено при отправке.

Некоторые смартфоны распознают тип URL-адреса и добавляют ". com" к клавиатуре для сопоставления ввода URL-адреса.


Тип ввода неделя

<input type="week"> позволяет пользователю выбрать неделю и год.

В зависимости от поддержки обозревателя в поле ввода может отображаться выбор даты.


Атрибут типа ввода HTML

Тег Описание
<input type=""> Указывает тип ввода для отображения

Формы и их составляющие (form, input) в HTML

Для создания интерактивного сайта необходим способ передачи данных от пользователя. Самый простой способ передать данные на сайт - это использовать форму (тег ).

Материал в этой статье только описывает теги, которые могут содержаться в <form>. Но для программирования функционала необходимо знание языка, к примеру, PHP. Пожалуйста, посмотрите курс PHP, если хотите полноценно понять способ передачи данных на сайт.

Одним из простейших примеров формы может быть форма авторизации:
<form action="/index.php" method="POST">
   Пожалуйста, введите мэйл и пароль:<br>
   <input type="text" name="email" value="" placeholder="Ваш мэйл" required><br>
   <input type="password" name="password" value="" placeholder="Ваш пароль"><br>
   <input type="submit" value="Войти на сайт">
</form>
Если создать html файл и вставить в него код из примера выше, то в браузере такой файл отобразится как html страница со следующим содержанием: - в этой форме есть два поля для ввода и одна кнопка. Все эти элементы строятся самим браузером.

Браузер использует свой стандартный стиль для полей ввода и кнопок, если не задан особый стиль. У каждого браузера стили для элементов форм отличаются. Поэтому чтобы сделать единый дизайн формы для вех браузеров, необходимо переопределить стандартные стили. Читайте об этом в курсе по CSS.

Рассмотрим построчно теги из примера.

<form> ... </form> - этот тег формы. Внутри него могут находиться различные элементы: текстовые поля, поля для ввода пароля и т.п. Во время отправки формы все поля внутри формы передадут свои значения на страницу, адрес которой указан в атрибуте action="...". Способ передачи данных указывается в атрибуте method="...". Подробнее о передаче данных из формы на сайт можно прочитать в разделе по программированию, к примеру, на языке PHP. В этой статье рассмотрим только виды полей для вода информации.

<input> - этот тег может отображать различные элемены в зависимости от значения атрибута type=". ..". На третьей строке он используется как поле для ввода текста type="text". А на четвёртой стройке он используется для ввода пароляtype="password". Отличие типов "text" от "password" в том, что в поле для ввода пароля все символы скрываются, заменяясь на звёздочки или точки.

В конце стретьей строки есть атрибут required. В переводе означает "обязательный". Если попытаться отправить форму (в нашем случае нажать на кнопку "Войти на сайт") без заполнения этого поля, то форма не отправится и выдаст предупреждение: На пятой строке <input> используется с атрибутом type="submit". В результате чего браузер рисует кликабельную кнопку, которая запускает процесс отправки содержимого формы.

В атрибуте value="..." задаётся значение, которое принимает элемент формы. К примеру, если в поле с атрибутом type="text" задать value="Это текст в форме", то после загрузки html страницы в этом текстовом поле будет стоять текст "Это текст в форме". В случае с полем type="submit" значение в атрибуте value="..." устанавливает надпись на кнопку отправки формы.

В примере все текстовые поля имеют атрибут value="" (value равно пустоте, между двойными кавычками "" ничего нет). Поэтому на заднем фоне поля для ввода отображается текст-заглушка, которая сразу прячется, как только начинается ввод в поле. Текст этой заглушки можно задать через атрибут placeholder="...".

Далее разберём подробнее какие ещё типы полей могут быть в формах. Рассмотрим самые востребованные.

input type="radio"

Поле для ввода с атрибутом type="radio" помогает сделать переключатель вариантов. К примеру, если пользователь должен выбрать только один вариант из списка, то код формы будет таким:
<form action="/index.php" method="POST">
Выберите сыр:<br>
<input name="cheese" type="radio" value="v1">Чеддер<br>
<input name="cheese" type="radio" value="v2" checked>Блю<br>
<input name="cheese" type="radio" value="v3">Камбоцола<br>
<input name="cheese" type="radio" value="v4">Морбье<br>
<input name="cheese" type="radio" value="v5">Смоленский<br>
<input name="cheese" type="radio" value="v6">Чечил<br>
</form>
На экране негобраузера форма будет выглядеть так: Обратите внимание, что все поля имеют атрибут name="cheese" с одинаковым значением. Это необходимо, потому что на одной странице могут находится несколько форм с радиокнопками. Но переключатель будет работать только внутри группы радиокнопок с одинаковым значением атрибута name. А значение value="..." должно быть разным. именно value у выбранного пункта будет передано во время отправки формы.

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

input type="checkbox"

Если есть необходимость выбрать несколько пунктов из предложенных, то необходимо использовать type="checkbox":
<form action="/index.php" method="POST">
Выберите сыр:<br>
<input name="cheese" type="checkbox" value="v1">Чеддер<br>
<input name="cheese" type="checkbox" value="v2" checked>Блю<br>
<input name="cheese" type="checkbox" value="v3">Камбоцола<br>
<input name="cheese" type="checkbox" value="v4" checked>Морбье<br>
<input name="cheese" type="checkbox" value="v5" checked>Смоленский<br>
<input name="cheese" type="checkbox" value="v6">Чечил<br>
</form>
Браузер отрисует такие элементы как поля, в которых можно поставить галочку. Как и в случае с type="radio" можно задать checked для тех пунктов, которые должны быть отмечены по умолчанию после загрузки страницы.

input type="file"

Одним из самых востребованных типов вода полей является поле для выбора файла type="file". HTML формы с кнопкой загрузки файла выглядит так:
<form action="/index.php" method="POST">
Загрузите фото сыра:<br><br>
<input type="file"><br><br>
<input type="submit" value="Загрузить">
</form>

В браузере форма из этого примера будет выглядеть так: При клике на кнопку выбора файла откроется окно, где пользователь сможет указать файл для загрузки. Кнопка "Загрузить" (она же <input type="submit">) начинает процесс отправки формы вместе с выбранным файлом.

<textarea>

Если необходимо получить от пользователя очень длинный текст, то записывать его через текстовое поле <input type="text"> будет проблематично, потому что это поле вмещает только одну строку. К счастью, есть более удобное многострочное поле с возможностью изменения его размера. Такое поле создаётся с помощью тега <textarea>. Этот тег парный - он имеет открывающую и закрывающую часть. HTML код формы с этим полем выглядит так:
<form action="/index.php" method="POST">
Напишите стих про мышей:<br><br>
<textarea></textarea>
</form>
Браузер отобрасит поле для ввода текста в несколько строк с возможностью изменения размера за правый-нижний угол: В отличии от других input полей, у textarea нет атрибута value. Значение textarea находится непосредственно между тегами <textarea>...</textarea>. И если необходимо задать текст, который будет в этом поле после загрузки страницы, то нужно писать его именно между открывающимся и закрывающимся тегом <textarea>...</textarea>

- HTML: язык разметки гипертекста

элементов типа email используются, чтобы позволить пользователю вводить и редактировать адрес электронной почты или, если указан атрибут multiple , список адресов электронной почты.

Входное значение автоматически проверяется, чтобы убедиться, что оно либо пустое, либо является правильно отформатированным адресом электронной почты (или списком адресов) перед отправкой формы. Псевдоклассы CSS : действительный и : недопустимый автоматически применяются соответствующим образом для визуального обозначения того, является ли текущее значение поля допустимым адресом электронной почты.

В браузерах, которые не поддерживают ввод типа email , ввод email снова становится стандартным вводом текста.

Значение A DOMString , представляющий адрес электронной почты, или пустой
События изменить и ввод
Поддерживаемые общие атрибуты автозаполнение , список , maxlength , minlength , несколько , имя , шаблон , заполнитель , только чтение , требуется 0004, и размер и размер
Атрибуты IDL список и значение
Методы выберите ()

Атрибут значения элемента содержит DOMString , который автоматически проверяется как соответствующий синтаксису электронной почты. В частности, есть три возможных формата значений, которые пройдут проверку:

  1. Пустая строка (""), указывающая, что пользователь не вводил значение или что значение было удалено.
  2. Единый правильно сформированный адрес электронной почты. Это не обязательно означает, что адрес электронной почты существует, но он, по крайней мере, отформатирован правильно. Проще говоря, это означает имя пользователя @ домен или имя пользователя@домен.tld . Конечно, дело не только в этом; см. Проверка регулярного выражения, которое соответствует алгоритму проверки адреса электронной почты.
  3. Если и только если указан атрибут multiple , значение может быть списком правильно сформированных адресов электронной почты, разделенных запятыми. Любые завершающие и ведущие пробелы удаляются из каждого адреса в списке.

См. Раздел Проверка для получения подробной информации о том, как проверяются адреса электронной почты, чтобы убедиться, что они правильно отформатированы.

В дополнение к атрибутам, которые работают со всеми элементами , независимо от их типа, входные данные email поддерживают следующие атрибуты:

Атрибут Описание
список Идентификатор элемента , который содержит необязательные предопределенные параметры автозаполнения
макс. Длина Максимальное количество символов, которое должен принимать ввод
Мин. Длина Минимальное количество символов, которое вводится и может считаться действительным
кратно Разрешить или запретить ввод нескольких адресов электронной почты через запятую
образец Регулярное выражение, содержимое которого должно совпадать, чтобы быть действительным
заполнитель Примерное значение для отображения в поле ввода, когда оно пусто
только чтение Логический атрибут, указывающий, должно ли содержимое ввода быть доступным только для чтения
размер Число, указывающее, сколько символов должно быть в поле ввода.

список

Значения атрибута списка - это id элемента , расположенного в том же документе. предоставляет список предопределенных значений, которые можно предложить пользователю для этого ввода. Любые значения в списке, несовместимые с типом , не включаются в предлагаемые варианты. Предоставленные значения являются предложениями, а не требованиями: пользователи могут выбрать из этого предопределенного списка или указать другое значение.

maxlength

Максимальное количество символов (в единицах кода UTF-16), которое пользователь может ввести в поле ввода электронной почты .Это должно быть целочисленное значение 0 или больше. Если maxlength не указана или указано недопустимое значение, вход email не имеет максимальной длины. Это значение также должно быть больше или равно значению minlength .

Входные данные не пройдут проверку ограничения, если длина текстового значения поля больше maxlength единиц кода UTF-16. Проверка ограничений применяется только тогда, когда значение изменяется пользователем.

minlength

Минимальное количество символов (в единицах кода UTF-16), которое пользователь может ввести в поле ввода электронной почты . Это должно быть неотрицательное целое число, меньшее или равное значению, заданному параметром maxlength . Если не указана минимальная длина или указано недопустимое значение, входной элемент электронной почты не имеет минимальной длины.

Входные данные не пройдут проверку ограничения, если длина текста, введенного в поле, меньше minlength UTF-16 кодовых единиц.Проверка ограничений применяется только тогда, когда значение изменяется пользователем.

несколько

Логический атрибут, который, если он присутствует, указывает, что пользователь может ввести список из нескольких адресов электронной почты, разделенных запятыми и, необязательно, пробелами. См. Раздел «Разрешить использование нескольких адресов электронной почты» для примера или «Атрибут HTML: несколько» для получения дополнительных сведений.

Примечание: Обычно, если вы указываете обязательный атрибут , пользователь должен ввести действительный адрес электронной почты, чтобы поле считалось действительным.Однако, если вы добавляете , несколько атрибутов , список нулевых адресов электронной почты (пустая строка или один, полностью состоящий из пробелов) будет допустимым значением. Другими словами, пользователю не нужно вводить даже один адрес электронной почты, если указано , несколько , независимо от значения , необходимого .

шаблон

Атрибут шаблона , если он указан, представляет собой регулярное выражение, которому должно соответствовать входное значение , чтобы значение прошло проверку ограничения.Это должно быть допустимое регулярное выражение JavaScript, используемое типом RegExp и описанное в нашем руководстве по регулярным выражениям; флаг 'u' указывается при компиляции регулярного выражения, так что шаблон обрабатывается как последовательность кодовых точек Unicode, а не как ASCII. Вокруг текста шаблона не следует указывать косую черту.

Если указанный шаблон не указан или недействителен, регулярное выражение не применяется, и этот атрибут полностью игнорируется.

Совет: Используйте атрибут title , чтобы указать текст, который большинство браузеров будет отображать как всплывающую подсказку, чтобы объяснить, какие требования должны соответствовать шаблону. Вы также должны включить рядом другой пояснительный текст.

См. Подробности и пример в разделе «Проверка шаблона».

заполнитель

Атрибут заполнителя - это строка, которая дает пользователю краткую подсказку относительно того, какая информация ожидается в поле.Это должно быть слово или короткая фраза, демонстрирующая ожидаемый тип данных, а не пояснительное сообщение. Текст не должен содержать символов возврата каретки или перевода строки.

Если содержимое элемента управления имеет одну направленность (LTR или RTL), но должно представлять заполнитель в противоположной направленности, вы можете использовать символы форматирования двунаправленного алгоритма Unicode, чтобы переопределить направленность внутри заполнителя; см. Переопределение двунаправленного текста с использованием управляющих символов Unicode в Алгоритме двунаправленного текста Unicode для этих символов.

только для чтения

Логический атрибут, который, если он присутствует, означает, что это поле не может редактироваться пользователем. Однако его значение все еще можно изменить с помощью кода JavaScript, напрямую установив свойство HTMLInputElement value .

Примечание: Поскольку поле только для чтения не может иметь значение, требуется не оказывает никакого влияния на входы с указанным атрибутом только для чтения .

размер

Атрибут размер - это числовое значение, указывающее, сколько символов должно быть в ширину поле ввода.Значение должно быть числом больше нуля, а значение по умолчанию - 20. Поскольку ширина символов различается, это может быть или не быть точным, и на это не следует полагаться; результирующий ввод может быть уже или шире, чем указанное количество символов, в зависимости от символов и шрифта ( шрифт используемые настройки).

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

Адреса электронной почты являются одними из наиболее часто вводимых форм текстовых данных в сети; они используются при входе на веб-сайты, при запросе информации, для подтверждения заказа, для веб-почты и т. д. Таким образом, тип ввода email может значительно облегчить вашу работу в качестве веб-разработчика, поскольку он может помочь упростить вашу работу при создании пользовательского интерфейса и логики для адресов электронной почты.Когда вы создаете входное сообщение электронной почты с правильным значением типа , электронной почты , вы получаете автоматическую проверку того, что введенный текст, по крайней мере, находится в правильной форме, чтобы потенциально быть допустимым адресом электронной почты. Это может помочь избежать случаев, когда пользователь неправильно набирает свой адрес или предоставляет неверный адрес.

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

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

Простой ввод электронной почты

В настоящее время все браузеры, реализующие этот элемент, реализуют его как стандартное поле ввода текста с основными функциями проверки.Тем не менее, спецификация дает браузеру свободу действий в этом вопросе. Например, элемент может быть интегрирован со встроенной адресной книгой устройства пользователя, чтобы можно было выбирать адреса электронной почты из этого списка. В простейшей форме ввод электронной почты может быть реализован следующим образом:

    

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

Разрешение нескольких адресов электронной почты

Добавив логический атрибут multiple , вход можно настроить для приема нескольких адресов электронной почты.

    

Теперь ввод считается действительным, когда вводится один адрес электронной почты или когда присутствует любое количество адресов электронной почты, разделенных запятыми, и, необязательно, некоторое количество пробелов.

Примечание : при использовании , кратного , значение может быть пустым.

Некоторые примеры действительных строк, когда указано , кратное :

Некоторые примеры недопустимых строк:

Заполнители

Иногда бывает полезно предложить контекстную подсказку о том, какую форму должны принимать входные данные. Это может быть особенно важно, если в дизайне страницы нет описательных меток для каждого . Здесь на помощь приходят заполнителей .Заполнитель - это значение, которое демонстрирует форму, которую должно принимать значение , представляя пример допустимого значения, которое отображается внутри поля редактирования, когда значение элемента равно "". После ввода данных в поле заполнитель исчезает; если поле пусто, заполнитель появляется снова.

Здесь у нас есть ввод электронной почты с заполнителем [email protected] . Обратите внимание, как заполнитель исчезает и появляется снова, когда вы манипулируете содержимым поля редактирования.

    

Управление размером ввода

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

Физический размер входного элемента

Физическим размером поля ввода можно управлять с помощью атрибута size . С его помощью вы можете указать количество символов, которое поле ввода может отображать одновременно.В этом примере поле редактирования электронной почты имеет ширину 15 символов:

    
Длина значения элемента

Размер не связан с ограничением длины для самого введенного адреса электронной почты, так что вы можете разместить поля в небольшом пространстве, при этом позволяя вводить более длинные строки адреса электронной почты. Вы можете указать минимальную длину в символах для введенного адреса электронной почты с помощью атрибута minlength ; аналогично используйте maxlength , чтобы установить максимальную длину введенного адреса электронной почты.

В приведенном ниже примере создается поле ввода адреса электронной почты шириной 32 символа, при этом требуется, чтобы его содержимое было не короче 3 символов и не длиннее 64 символов.

    

Предоставление параметров по умолчанию

Как всегда, вы можете указать значение по умолчанию для поля ввода электронной почты , установив его значение атрибут:

    
Предлагаемые значения

Сделав еще один шаг, вы можете предоставить список параметров по умолчанию, из которых пользователь может выбрать, указав атрибут list . Это не ограничивает пользователя этими параметрами, но позволяет им быстрее выбирать часто используемые адреса электронной почты. Это также предлагает подсказки для автозаполнения . Атрибут list определяет идентификатор , который, в свою очередь, содержит один элемент для каждого предлагаемого значения; значение для каждой опции - это соответствующее предлагаемое значение для поля ввода электронной почты.

  


    

При наличии элемента и его s браузер предложит указанные значения в качестве возможных значений для адреса электронной почты; обычно это отображается как всплывающее или раскрывающееся меню, содержащее предложения.Хотя конкретный пользовательский интерфейс может отличаться от одного браузера к другому, обычно щелчок в поле редактирования представляет раскрывающийся список предлагаемых адресов электронной почты. Затем, по мере ввода пользователя, список фильтруется, чтобы отображались только совпадающие значения. Каждый набранный символ сужает список до тех пор, пока пользователь не сделает выбор или не введет настраиваемое значение.

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

Важно : проверка HTML-формы - это , а не , заменяющий скрипты, которые гарантируют, что введенные данные находятся в правильном формате. Для кого-то слишком легко внести изменения в HTML, которые позволят им обойти проверку или удалите его полностью. Также есть возможность полностью обойти ваш HTML и отправить данные прямо на ваш сервер.Если ваш серверный код не может проверить данные, которые он получает, может случиться катастрофа, когда в вашу базу данных будут введены неправильно отформатированные данные (или данные, которые слишком большие, неправильного типа и т. Д.).

Базовая проверка

Браузеры, поддерживающие тип ввода электронной почты , автоматически обеспечивают проверку, чтобы гарантировать, что в поле ввода вводится только текст, соответствующий стандартному формату для адресов электронной почты в Интернете. [a-zA-Z0-9._` {|} ~ -] + @ [a-zA-Z0-9] (?: [a-zA-Z0-9 -] {0,61} [a-zA-Z0-9])? (?: \. [a-zA-Z0-9] (?: [a-zA-Z0-9 -] {0,61} [a-zA-Z0- 9])?) * $ /

Чтобы узнать больше о том, как работает проверка формы и как воспользоваться преимуществами свойств CSS : valid и : invalid для стилизации ввода в зависимости от того, является ли текущее значение допустимым, см. Проверка данных формы.

Примечание : Существуют известные проблемы со спецификациями, связанные с международными доменными именами и проверкой адресов электронной почты в HTML.Подробнее см. Ошибку 15489 W3C.

Проверка шаблона

Если вам нужно, чтобы введенный адрес электронной почты был ограничен дальше, чем просто «любая строка, похожая на адрес электронной почты», вы можете использовать атрибут шаблон , чтобы указать регулярное выражение, значение должно совпадать чтобы это было действительным. Если указан атрибут multiple , каждый отдельный элемент в списке значений, разделенных запятыми, должен соответствовать регулярному выражению.

Например, предположим, вы создаете страницу для сотрудников Best Startup Ever, Inc.что позволит им обратиться за помощью в свой ИТ-отдел. В нашей упрощенной форме пользователь должен ввести свой адрес электронной почты и сообщение с описанием проблемы, с которой ему требуется помощь. Мы хотим убедиться, что пользователь не только предоставляет действительный адрес электронной почты, но и в целях безопасности мы требуем, чтобы адрес был внутренним корпоративным адресом электронной почты.

Поскольку входные данные типа email проверяют как стандартную проверку адреса электронной почты , так и заданный шаблон , вы можете легко реализовать это.Посмотрим как:

  <форма>
 

Требуется

Наш

содержит один типа email для адреса электронной почты пользователя,