你要写全来:
<form name=form1>  注意这里要为form加上一个name,强烈建议不要有form这样的关键字
<input type=text name=email>  注意要有这么一个name=email的输入框!!<input type=button value=检查 onclick=cc()>
</form>
<script language=javascript>
function cc()
{
  if ((form1.email.value=="")||
      (form1.email.value.indexOf('@',0)==-1)||
      (form1.email.value.indexOf('.',0)==-1)||
      (form1.email.value.length<6))
     {
       alert ("请你输入合法的email地址!"); 
       form1.email.select();
       form1.email.focus();
       return false;
     }
}
</script>

解决方案 »

  1.   

    [判断 email 格式的正则]
    function isEmail(str) 

    // are regular expressions supported? 
    var supported = 0; 
    if (window.RegExp) { 
    var tempStr = "a"; 
    var tempReg = new RegExp(tempStr); 
    if (tempReg.test(tempStr)) supported = 1; 

    if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0); 
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)"); 
    var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"); 
    return (!r1.test(str) && r2.test(str)); 
    }
      

  2.   


    《JSP中email格式的判断》
    ------
    Email Validation The following code is a sample of some characters you can check are in an email address, or should not be in an email address. It is not a complete email validation program that checks for all possible email scenarios, but can be added to as needed. 
    /*
    * Checks for invalid characters
    * in email addresses
    */
    public class EmailValidation {
      public static void main(String[] args) 
                                    throws Exception {
                                    
         String input = "@sun.com";
         //Checks for email addresses starting with
         //inappropriate symbols like dots or @ signs.
         Pattern p = Pattern.compile("^\\.|^\\@");
         Matcher m = p.matcher(input);
         if (m.find())
            System.err.println("Email addresses don't start" +
                               " with dots or @ signs.");
         //Checks for email addresses that start with
         //www. and prints a message if it does.
         p = Pattern.compile("^www\\.");
         m = p.matcher(input);
         if (m.find()) {
           System.out.println("Email addresses don't start" +
                   " with \"www.\", only web pages do.");
         }
         p = Pattern.compile("[^A-Za-z0-9\\.\\@_\\-~#]+");
         m = p.matcher(input);
         StringBuffer sb = new StringBuffer();
         boolean result = m.find();
         boolean deletedIllegalChars = false;     while(result) {
            deletedIllegalChars = true;
            m.appendReplacement(sb, "");
            result = m.find();
         }     // Add the last segment of input to the new String
         m.appendTail(sb);     input = sb.toString();     if (deletedIllegalChars) {
            System.out.println("It contained incorrect characters" +
                              " , such as spaces or commas.");
         }
      }

      

  3.   

    <script language=vbscript>
    <!--
    Function isMailAddr(thisStr)
    Dim regEx, Matches,patrn

    on error resume next
    Set regEx = New RegExp
    isMailAddr=false

    patrn="^[A-Za-z0-9_-]+[@]{1}([A-Za-z0-9_-]+[.]{1}[A-Za-z0-9_-]+)+$"
    regEx.Pattern = patrn
    regEx.IgnoreCase = true
    regEx.Global = True
    Matches = regEx.test(thisStr)' ok:True else:False

    if err then
    if instr(thisStr,"@")=0 or instr(thisStr,".")=0  then
    isMailAddr=False
    else
    isMailAddr=true
    end if
    else
    isMailAddr = Matches 
    end if
    End Function
    -->
    </script>
      

  4.   

    //判断字符串对象是否是合法的email
    String.prototype.isEmail=function(){
        var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$";
        var re = new RegExp(regu);
        return ((this.search(re)!=-1)?true:false);
    }
    用法:
    var sss="[email protected]";
    alert(sss.isEmail());
      

  5.   

    //给你一个简单的
    function isValidEmail( str ){
        if (str.indexOf ('@',0) == -1 || str.indexOf ('.',0) == -1){
    return false;
        } else
    return true;
    }
      

  6.   

    <script language="JavaScript1.2">
    function checkmail(mail)
     var strr;
     re=/(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;
     re.exec(mail);
     if (RegExp.$3!=""&&RegExp.$3!="."&&RegExp.$2!=".") strr=RegExp.$1+RegExp.$2+RegExp.$3
     else
      if (RegExp.$2!=""&&RegExp.$2!=".") strr=RegExp.$1+RegExp.$2
      else strr=RegExp.$1
     if (strr!=mail) {alert("请填写正确的邮件地址;return false}
     return true;
    }
    </script>
      

  7.   

    在以往的编程中,比如编写用户的资料时,有时需要确认用户输入的Email是否真实有效,以前我们最多只能做到验证Email是否包含了某些特殊的字符,比如"@",".",".com"等,做到的只是判断了Email的合法性,证明用户填写的Email格式是正确的,但是这个Email是否真正的存在于网络中,则没有办法。本文,飞刀将教大家如何验证此Email存在性。。当然不是凭空想像出来的:)首先需要大家了解一下SMTP协议。1.SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器     2.SMTP是个请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码     3.SMTP在TCP协议25号端口监听连接请求     4.连接和发送过程 SMTP协议说复杂也不复杂(明明带有“简单”这个词嘛),说简单如果你懂得Sock。不过现在只是我们利用的就是第一条中说的,从客户机传输到服务器,当我们向一台服务器发送邮件时,邮件服务器会首先验证邮件发送地址是否真的存在于本服务器上。操作的步骤如下:1. 连接服务器的25端口(如果没有邮件服务,连了也是白连) 2. 发送helo问候 3. 发送mail from命令,如果返回250表示正确可以,连接本服务器,否则则表示服务器需要发送人验证。 4. 发送rcpt to命令,如果返回250表示则Email存在 5. 发送quit命令,退出连接 下面我们就来操作这个流程:首先看看页面构架:<b>普通的Email验证</b><form runat="server"><table boder="#6699FF"><tr><td colspan="2" align="center" ><asp:Label id="lblMsgShow" ForeColor="red" runat="server" /></td></tr><tr><td>需要验证的Email地址:</td><td><asp:TextBox id="tbEmail" runat="server" /></td></tr><tr><td>邮件SMTP服务器:</td><td><asp:TextBox id="tbServer" runat="server" /></td></tr><tr><td>SMTP端口:</td><td><asp:TextBox id="tbPort" Text="25" runat="server" /></td></tr><tr><td colspan="2" ><asp:Button id="btnValidate" Text="验证" OnClick="Validate_Email" runat="server" /></td></tr></table><b>验证过程展示:</b><asp:Panel id="ShowPro" runat="server" /></form>Button控件的点击将激发Valiate_Email事件,所有主程序操作全是在这个事件中完成,下面就来具体讲解本事件处理中的代码。关于TCP连接的东东,我就不想再重复了。。请大家自己去看我以前的文章:string strEmail,strServer;int intPort;strEmail = tbEmail.Text;strServer = tbServer.Text;intPort = Int32.Parse(tbPort.Text); //默认端口是25 TcpClient tcpc = new TcpClient();服务器等信息来自于用户输入,建立与服务器25端口的连接。try{tcpc.Connect(strServer,intPort);StreamReader sr = new StreamReader(tcpc.GetStream(),Encoding.Default);sr.ReadLine();...}请注意上面代码中两点:一在beta2中不能再通过判断返回值的方法来判断建立的连接是否成功,只能通过捕捉错误例外的方法判断;二在打开连接,使用Stream读取时,必须有一个sr.ReadLine,一行是服务器的欢迎信息加版本信息。接下来就是按照上面所说的步骤来完成操作://写入HELO命令if(OperaStream(tcpc,"HELO www.aspcn.com") != "250"){lblMsgShow.Text = "HELO 命令不能完成,本端口可能并非提供SMTP服务";OperaStream(tcpc,"QUIT");return;}//写入Mail From命令if(OperaStream(tcpc,"MAIL FROM: [email protected]") != "250"){lblMsgShow.Text = "MAIL命令不能完成,SMTP服务需要验证";OperaStream(tcpc,"QUIT");return;}//写入RCPT命令,这是关键的一步,后面的参数便是查询的Email的地址if(OperaStream(tcpc,"RCPT TO: "+strEmail) != "250"){lblMsgShow.Text = strEmail + "此邮件地址并非有效";OperaStream(tcpc,"QUIT");return;}else{lblMsgShow.Text = strEmail + "是一个合法有效的邮件地址";OperaStream(tcpc,"QUIT");return;}Helo命令后面的主机名,在某些邮件服务器中不需要比如Imail,但是还是写上好,当然你也可以乱写骗服务器,不过一般来说服务器都能检查出来。其中OperaStrem是我们是自定义的函数,用于操作连接流:public string OperaStream(TcpClient tcpc,string strCmd){Stream TcpStream;strCmd = strCmd + "\r\n"; //加入换行符TcpStream = tcpc.GetStream();byte[] bWrite = Encoding.Default.GetBytes(strCmd.ToCharArray()); TcpStream.Write(bWrite,0,bWrite.Length);StreamReader sr = new StreamReader(tcpc.GetStream(),Encoding.Default);string rl = sr.ReadLine();string sp = rl.Substring(0,3);ShowPro.Controls.Add(new LiteralControl("执行命令:<font color=red>"+strCmd+"</font><br>返回数据:"+rl+"<br>"));return sp;} 此函数的返回值是流的信息代码,用于判断操作是否成功,250表示成功,550表示只能适用于本地邮件,也就是说发件人必须是该服务器上的用户,比如在连接smtp.163.net,就必须拥有一个真实有效的163.net帐号,这种做法是服务器防止外人使用服务发送垃圾邮件,具体操作我们下一节再说。到此如果返回值是250,一切大功告成,下图是测试[email protected](我的邮件)的测试结果。