Ошибка возврата формы Javascript Regex - PullRequest
0 голосов
/ 18 октября 2018

Я пытался проверить свою электронную почту, введя эти строки кодов.

function validate() {
  var emailFirst = document.getElementById('email1');
  var emailFirstRGex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  var emailFirstTest = emailFirstRGex.test(emailFirst);

  if (emailFirstTest === false) {

  alert('hello20');
}
   }

Моя форма

<form class="needs-validation" novalidate method="POST" action="nomination2.php" onsubmit="validate()">

Я продолжаю получать ответ hello20.Тем временем я попробовал это регулярное выражение для писем на консоли без ошибок.Как мне это решить?

1 Ответ

0 голосов
/ 18 октября 2018

emailFirstTest объявлено внутри вашей функции, поэтому проверка его вне функции означает, что он находится вне области видимости и не существует.

Просто определите его над вашей функцией:

var emailFirstTest  = '';

function validate() {
  emailFirst = document.getElementById('email1');
  var emailFirstRGex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  var emailFirstTest = emailFirstRGex.test(emailFirst);
}
...