电子邮件验证javascript

inp*_*put 4 html javascript validation email-validation

这个javascript函数(checkValidity)是否正确?

function checkTextBox(textBox)
{
   if (!checkValidity(textBox.getValue()))
       displayError("Error title", "Error message", textBox);
       textBox.focus();
}

function checkValidity(e) 
{
    var email;
    email = "/^[^@]+@[^@]+.[a-z]{2,}$/i";

    if (!e.match(email)){
            return false;
    else
            return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:所有的答案赞赏!谢谢!

Mtn*_*ark 7

电子邮件地址在RFC 5322第3.4节中定义.相关的非终端是addr-spec.由于域规范的复杂性和支持旧的,过时的形式,这个定义有点古怪.但是,您可以使用以下方法对大多数表单进行过度近似:

^[-0-9A-Za-z!#$%&'*+/=?^_`{|}~.]+@[-0-9A-Za-z!#$%&'*+/=?^_`{|}~.]+
Run Code Online (Sandbox Code Playgroud)

请注意,有很多合法字符.大多数注册表都会出错.是的,所有这些字符在电子邮件地址中都是合法的.

这个正则表达式不会匹配一些非常罕见的使用形式"noodle soup @ 9"@[what the.example.com]- 这是一个合法的电子邮件地址!