Проверка электронной почты с обязательным атрибутом HTML5 плюс шаблон регулярного выражения - PullRequest
0 голосов
/ 13 сентября 2018

Я использую стандартную проверку HTML5 для поля «электронная почта», и она отлично работает!Тем не менее, я хотел бы увеличить его до определенного случая, когда я не хочу принимать электронные письма со «свободными» доменами (gmail, hotmail и т. Д.).

Я сделал регулярное выражение и проверил его, и оноработал правильно (Здесь вы можете сделать тест: https://regex101.com/r/wBt3YN/1). Но при применении к шаблону поля электронной почты ничего не происходит.

Как продолжить?

Некоторыестроки:

maykel@gmail.com -> Невозможно разрешить

maykel@marfin.com -> Можно разрешить

maykel@outlook.com ->Не могу допустить

Шаблон регулярного выражения

^([\w-.]+@(?!gmail\.com)(?!yahoo\.com)(?!hotmail\.com)(?!mail\.com)(?!live\.com)(?!aol\.com)(?!outlook\.com)(?!bol\.com)(?!msn\.com)(?!ymail\.com)([\w-]+.)+[\w-]{2,4})?$

Моя форма

<form>
  <div class="field">
    <label for="email">Email Corporativo</label>
        <input 
          type="email" 
          name="email" 
          id="email" 
          value="" 
          pattern="^([\w-.]+@(?!gmail\.com)(?!yahoo\.com)(?!hotmail\.com)(?!mail\.com)(?!live\.com)(?!aol\.com)(?!outlook\.com)(?!bol\.com)(?!msn\.com)(?!ymail\.com)([\w-]+.)+[\w-]{2,4})?$" 
          title="Utilize seu email corporativo" 
          placeholder="" 
          required
        >
  </div>
  <input type="submit" value="ENVIAR">
</form>

1 Ответ

0 голосов
/ 13 сентября 2018

Вот мой код, где я не разрешаю Yahoo и Hotmail.Однако проверка электронной почты - очень деликатная вещь.

<form>
  <div class="field">
    <label for="email">Email Corporativo</label>
        <input 
          type="email" 
          name="email" 
          id="email" 
          value="" 
          pattern="^[^@]+@(?!(yahoo|hotmail))[^@]+\.[a-z]{2,}$" 
          title="Utilize seu email corporativo" 
          placeholder="" 
          required
        >
  </div>
  <input type="submit" value="ENVIAR">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...