如何验证特定域中的电子邮件地址?

Jen*_*ink 1 javascript email validation

我有这个代码来验证电子邮件输入.我的问题是,我希望我的表单只接受一个特定的域名.例如,test @ thisdomainonly.com.我不知道该怎么做.这是我到目前为止所拥有的:

function validateEmail(email)
{
    var splitted = email.match("^(.+)@(.+)$");
    if (splitted == null) return false;
    if (splitted[1] != null)
    {
        var regexp_user = /^\"?[\w-_\.]*\"?$/;
        if (splitted[1].match(regexp_user) == null) return false;
    }
    if (splitted[2] != null)
    {
        var regexp_domain = /^[\w-\.]*\.[A-Za-z]{2,4}$/;
        if (splitted[2].match(regexp_domain) == null)
        {
            var regexp_ip = /^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
            if (splitted[2].match(regexp_ip) == null) return false;
        } // if
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

小智 5

修改你的功能,你会使用这样的东西:

function validateEmail(email)
{
    var splitted = email.match("^(.+)@thisdomainonly\.com$");
    if (splitted == null) return false;
    if (splitted[1] != null)
    {
        var regexp_user = /^\"?[\w-_\.]*\"?$/;
        if (splitted[1].match(regexp_user) == null) return false;
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但更有效的版本是:

function validateEmail(email){
    return /^\"?[\w-_\.]*\"?@thisdomainonly\.com$/.test(email);        
}
Run Code Online (Sandbox Code Playgroud)