电子邮件格式的javascript验证接受错误的电子邮件格式@ abcd.com.gmail,

时间:2011-11-22 05:50:37

标签: c# javascript asp.net

  

可能重复:
  Validate email address in Javascript?

我必须对电子邮件格式进行验证,我使用下面的CODE来限制特殊字符。

onkeypress="return AlphaNumericBox(event,this,'@._);"

但现在的问题是我没有对确切的格式进行任何正确的验证,例如它也接受像" @abcd.com.gmail,.. "这样的文本吗?对此有任何javascript验证吗? 任何想法?

提前致谢。

2 个答案:

答案 0 :(得分:2)

function CheckEmail(address){
    address=address.replace(/(^\s*)|(\s*$)/g, "");
    var reg=/([\w._-])+@([\w_-])+(\.([\w_-])+){1,2}/;
    var matcharr=reg.exec(address);
    if(matcharr!=null){
        if(matcharr[0].length==address.length){
            return true;
        }
        return false;
    }
    return false;
}

eg:
var sVal=" t.st@gmail.com.cn ";
var sVal2=" t.st@gmail.com.cn.abc ";
console.log(CheckEmail("name@server.com"));    //outpus true
console.log(CheckEmail("@server.com"));   //outpus false

答案 1 :(得分:1)

我建议您使用此功能。我已经多次测试了。

function validateEmail (emailAddress) {
        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
        return pattern.test(emailAddress);
}

现在,您可以轻松验证任何电子邮件地址:

var isValid = validateEmail('name@server.com'); // returns true;
isValid = validateEmail('@server.com'); // returns false;
相关问题