Проверка адреса электронной почты с помощью jquery

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

до сих пор я был в состоянии написать следующий код:

var validateEmail = function(email){
  if(email.includes(' ')){return false};
  if(!email.includes('@')){return false};
  return true;
}

этот код работает отлично, но, к сожалению, форма проверяется, когда нет последней части адреса, то есть ".com", ".fr" и т. д., будучи новичком в разработке, если кто-то может подсказать мне пожалуйста:)

Я благодарю вас заранее!

4 ответа

Решение

Вы можете использовать обычный JavaScript

function isEmail(email) {
    var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    return regex.test(email);
}

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

function emailValidate(sEmail) {
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (filter.test(sEmail)) {
        return true;
    }
    else {
        return false;
    }
}​

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

Ваша проверка немного проще для проверки по электронной почте. Конечно, это работает без последней части, потому что вы проверяете только @ знак.

Вместо этого вы можете использовать более общую проверку с помощью регулярных выражений:

var re = /^(([^<>()\[\]\\.,;:\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 isAnEmail = re.test(email.toLowerCase());

Вы можете сделать это легко с помощью регулярных выражений.

var validateEmail = function(email){

var regexForEmailValidation = /^\w+([-+.'][^\s]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

var emailFormat = regexForEmailValidation.test($(email).val());// this returns result in boolean type

// do whatever you wish to do here
  }
Другие вопросы по тегам