当前位置:编程学习 > JS >>

js邮箱地址验证

js邮箱地址验证function jcv_checkemail(emailstr) {
        if (emailstr.length == 0) {
            return true;
        }
        // tld checking turned off by default
        var checktld=0;
        var knowndomspat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
        var emailpat=/^(.+)@(.+)$/;
        var specialchars="\(\)><@,;:\\\"\.\[\]";
        var validchars="[^\s" + specialchars + "]";
        var quoteduser="("[^"]*")";
        var ipdomainpat=/^[(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})]$/;
        var atom=validchars + '+';
        var word="(" + atom + "|" + quoteduser + ")";
        var userpat=new regexp("^" + word + "(\." + word + ")*$");
        var domainpat=new regexp("^" + atom + "(\." + atom +")*$");
        var matcharray=emailstr.match(emailpat);
        if (matcharray==null) {
            return false;
        }
        var user=matcharray[1];
        var domain=matcharray[2];
        for (i=0; i<user.length; i++) {
            if (user.charcodeat(i)>127) {
                return false;
            }
        }
        for (i=0; i<domain.length; i++) {
            if (domain.charcodeat(i)>127) {
                return false;
            }
        }
        if (user.match(userpat)==null) {
            return false;
        }
        var iparray=domain.match(ipdomainpat);
        if (iparray!=null) {
            for (var i=1;i<=4;i++) {
                if (iparray[i]>255) {
                    return false;
                }
            }
            return true;
        }
        var atompat=new regexp("^" + atom + "$");
        var domarr=domain.split(".");
        var len=domarr.length;
        for (i=0;i<len;i++) {
            if (domarr[i].search(atompat)==-1) {
                return false;
            }
        }
        if (checktld && domarr[domarr.length-1].length!=2 &&
            domarr[domarr.length-1].search(knowndomspat)==-1) {
            return false;
        }
        if (len<2) {
            return false;
        }
        return true;
    }

补充:网页制作,js教程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,