在网上看到好多验证邮箱是否合法的代码,但是都觉得太乱了。哪位高手给个全面点的答案啊

解决方案 »

  1.   

    用正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
      

  2.   

    <html>
    <head>
    <script>
    function wahaha()
    {
        var result = false;
        var str = TBOX.value;
        if(str.indexOf('@')>0)
        {
            var a1 = str.split('@')[0];
            var a2 = str.split('@')[1];
            if(isW(a1) && a2.indexOf('.')>0)
            {
                if(isW(a2.split('.')[0]) && isW(a2.split('.')[1]))
                    result = true;
            }
        }
        if(!result)
            alert("邮箱格式不对");
    }
    function isW(str)
    {   
        if(str.length==0)
            return false;
        for(var i=0; i<str.length; i++)
        {
            var tmp = str.substring(i,i+1);
            if(!(tmp>='a'&&tmp<='z') && !(tmp>='A'&&tmp<='Z') && !(tmp>='0'&&tmp<='9') && tmp!='_')
                return false; 
        }
        return true;
    }
    </script>
    </head>
    <body>
    <input type="text" id="TBOX" />
    <input type="button" value="验证" onclick="wahaha()" />
    </body>
    </html> 
      

  3.   

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

  4.   

    支持
    还可以改进一点点
    function isEmail(str){
           var reg = /^([a-zA-Z0-9\._-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
           return reg.test(str);
    }
      

  5.   

    /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
      

  6.   

    简化一下:
    function isEmail(str){
           var reg = /^([\w|-|\.])+@([\w|-|\.])+(([\w|-|\.]{2,3}){1,2})$/;
           return reg.test(str);
    }