用正则if(!/\w+@\w+(\.\w+)+/ig.test(form1.email.value))
alert('邮件地址不对');

解决方案 »

  1.   

    function checkEmail( email)
    {
            var reEmail = /^([A-Za-z0-9])(\w)+@(\w)+(\.)(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)/;
            if (!email.match(reEmail)&&email!="")
            {
                    alert('Email必须符合要求!');
                    return false;
            }
            else return true;
    }
    google  搜 JavaScript 如何验证 Email 格式 
    n多
      

  2.   

    [a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}
      

  3.   

    正好有也在做这个,用javascript写的,运行正常
    ----------------------------------------------------------------------------------
    function CheckEmail(str){
        var CHAR_LETTER_NUMERIC=1;
        var CHAR_UNDERLINE=2;
        var CHAR_DOT=3;
        var CHAR_AT=4;
        var CHAR_DIVIDE=5;
        var CHAR_END=6;
        var CHAR_OTHER=7;
        var DIV_CHAR=',';    var rc=true;
        if (str+"" == "undefined" || str == null){
            rc=false;
            return rc;
        } else if(str.length==0){
            rc=true;
            return rc;
        }    var exit_flag=false;
        var total_char=str.length;
        var pos=0;
        var cur_char;
        var cur_status=0;
        while((pos<=total_char) && (!exit_flag)){
            if(pos==total_char){
              cur_char=CHAR_END;
            }
            else if (str.charAt(pos)=='.'){
              cur_char=CHAR_DOT;
            }
            else if (str.charAt(pos)==DIV_CHAR){
              cur_char=CHAR_DIVIDE;
            }
            else if(str.charAt(pos)=='_'){
              cur_char=CHAR_UNDERLINE;
            }
            else if(str.charAt(pos)=='@'){
              cur_char=CHAR_AT;
            }
            else if(((str.charAt(pos)>='a')&&(str.charAt(pos)<='z'))||((str.charAt(pos)>='A')&&(str.charAt(pos)<='Z'))||((str.charAt(pos)>='0')&&(str.charAt(pos)<='9'))||(str.charAt(pos)=='-')){
              cur_char=CHAR_LETTER_NUMERIC;
            }
            else{
              cur_char=CHAR_OTHER;
            }
            switch (cur_status){
              case -1://error
                rc=false;
                exit_flag=true;
                break;          case 0://initial status
                if((cur_char==CHAR_LETTER_NUMERIC)||(cur_char==CHAR_UNDERLINE)||(cur_char==CHAR_DOT)){
                  cur_status=1;
                }
                else{
                  rc=false;
                  cur_status=-1;
                }
                break;
              case 1://user name
                if((cur_char==CHAR_LETTER_NUMERIC)||(cur_char==CHAR_UNDERLINE)||(cur_char==CHAR_DOT)){
                  cur_status=1;
                }
                else if(cur_char==CHAR_AT){
                  cur_status=2;
                }
                else{
                  rc=false;
                  cur_status=-1;
                }
                break;
              case 2://@
                if(cur_char==CHAR_LETTER_NUMERIC){
                  cur_status=6;
                }
                else{
                  rc=false;
                  cur_status=-1;
                }
                break;          case 6://"."
                if(cur_char==CHAR_LETTER_NUMERIC){
                  cur_status=6;
                }
                else if(cur_char==CHAR_DOT){
                  cur_status=3;
                }
                else{
                  rc=false;
                  cur_status=-1;
                }
                break;          case 3://fisrt domain name
                if(cur_char==CHAR_LETTER_NUMERIC){
                  cur_status=4;
                }
                else{
                  rc=false;
                  cur_status=-1;
                }
                break;
              case 4://not first domain name
                if(cur_char==CHAR_LETTER_NUMERIC){
                  cur_status=4;
                }
                else if(cur_char==CHAR_DOT){
                  cur_status=3;
                }
                else if(cur_char==CHAR_DIVIDE){
                  cur_status=0;
                }
                else if(cur_char==CHAR_END){
                  cur_status=5;
                }
                else{
                  rc=false;
                  cur_status=-1;
                }
                break;
              case 5://ok
                rc=true;
                exit_flag=true;
                break;
              default:
                rc=false;
                exit_flag=true;
                break;
            }
            pos++;
        }
        return rc;
    }