使用 jquery 验证电子邮件地址

Email address validation with jquery

我正在做一个电子邮件注册表作为培训练习,我想与 jquery 检查地址是否正确。

到目前为止,我已经能够编写以下代码:

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

此代码完美运行,但不幸的是,当没有地址的最后一部分时,表单会被验证,也就是说:“.com”“.fr”等..如果有人在开发中都是新的请给我曲目:)

先谢谢你了!

您的验证对于检查电子邮件来说有点简单。 当然它没有最后一部分也能工作,因为你只检查 @ 标志。

相反,您可以使用正则表达式进行更一般的检查:

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());

您可以使用常规 javascript

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

您可以使用正则表达式轻松做到这一点。

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
  }

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;
    }
}​

现在,您只需使用按钮点击事件等调用此函数即可。