Как я могу создать функцию для проверки электронной почты и имени пользователя с Javascript? - PullRequest
1 голос
/ 23 марта 2020

Я очень новичок в кодировании. Я создаю форму бюллетеня, и мне нужно, чтобы люди регистрировались, вводя имя (только буквы) и действующий адрес электронной почты. Я пытаюсь создать функцию javascript, но она не работает должным образом. Функция:

function validaIscrizione(username,email) {

        var nameRegex = /^[a-zA-Z\-]+$/
        var emailRegex = /^(([^<>()[\]\\.,;:\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,}))$/

        if(
        username==''|| username==undefined || nameRegex.test(username)||
        email== '' || email == undefined || emailRegex.test(email)
      )
        {return false;}

      else{return true;}  

}




var button = document.getElementById('btn_1');

button.onclick=function(){
  var login=document.getElementById('username').value;
  var password=document.getElementById('email').value;
  var result = document.getElementById('result');

      if(validaIscrizione(username,email)){
result.innerHTML = "Grazie per aver effettuato la registrazione";
      }else{
        result.innerHTML = "Dati non validi";
      }
}

"

Я что-то упустил? Заранее спасибо

1 Ответ

0 голосов
/ 23 марта 2020

Я немного модифицирую вашу функцию проверки и оставляю комментарии с объяснением:

function validaIscrizione(username, email) {
  const nameRegex = /^[a-zA-Z\-]+$/;
  const emailRegex = /^(([^<>()[\]\\.,;:\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,}))$/;

// here you use short circuit for the falsy values like "" or undefined and validate the regex
  const isUsernameValid = username && nameRegex.test(username);
  const isEmailValid = email && emailRegex.test(email);

// here you return that is valid only if the two inputs pass your tests
  return isUsernameValid && isEmailValid;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...