Проверка формы HTML5 с атрибутом «pattern» - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь найти правильный шаблон для формы HTML5.Я хотел бы разрешить *@student.*.edu.vn

Это мой код:

 <input 
       type="text" 
       name="mail"  
       pattern="([a-z]|[0-9])+(@{1})+(student)+(.)+[a-z]+(.edu.vn)"
   />

Это не работает, как я хотел бы.Что я делаю не так?

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

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

<form>
  <input 
   type="text" 
   name="mail"  
   pattern=".+@student\..+\.edu.vn"
 />
 <input type="submit">
</form>
0 голосов
/ 30 ноября 2018

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

([a-z]|[0-9])+@student\.[a-z]+\.edu\.vn

<form>
  <input type="text" name="mail" pattern="([a-z]|[0-9])+@student\.[a-z]+\.edu\.vn" />
  <input type="submit">
</form>

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

...