<?php 
function emailIsRight($email) { 
if (preg_match("^[^-_\.0-9][_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) { 
return 1; 

return 0; 

if(emailIsRight('[email protected]')) echo '正确<br>'; 
if(!emailIsRight('y10k@fffff')) echo '不正确<br>'; 
?>

解决方案 »

  1.   

    不好意思,发错了,这个是PHP的。
      

  2.   

    <form name="form1" method="post" action="" onSubmit="return chkmail()">
    <script language="javascript">
    function chkmail(){
    var reg = /^[^\-_\.0-9][\w\-]+@[\w\-]+\.[a-zA-Z]{3}(\.[a-zA-Z]{2,3})?$/;
    if(! reg.test(form1.mail.value)){
    alert("Wrong Email address!");
    form1.mail.focus();
    return false;
    }
    return true;
    }
    </script>
      <input name="mail" type="text" id="mail">
      <input type="submit" name="Submit" value="提交">
    </form>
    刚写的,没有测试过,你试试看。
      

  3.   

    /*
    ===========================================
    //是否是邮件
    ===========================================
    */
    String.prototype.isEmail = function()
    {
    return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);
    }
      

  4.   

    /^[^\-_0-9][\w\-]*@[\w\-\.]+\.[a-zA-Z]{3}(\.[a-zA-Z]{2,3})?$/我那个正则改成这样子就更符合EMAIL的要求了。
    可以检测二级域名的邮件地址。
      

  5.   

    kingerq(多菜鸟) 你的验证还缺点
    规则打分,每规则1分。
    邮件用户名不能少于两位:1分
    邮件名只能使用减号,字母,数字和下划线:1分
    用户名减号,下划线不能出现在首尾:0分
    域名只能使用减号,字母,数字:0分(不能用下划线)
    域名首尾字母不能为减号:0分
    @次数和位置检测:1分
    最多只能使用二级域名作后缀:1分
    现有域名限制检测(com,net,org等检测):0分
    送4分给您,希望能够再接再厉,完善它.
    此外现在中文邮件域名都出来,增加了难度,希望有朋友能给各规则。
      

  6.   

    老大,你够绝,检测个邮箱为什么要这么烦呢?
    /^[^\-_0-9][\w\-]+[^\-_]@[a-zA-Z0-9\-\.]+[^\-]\.[a-zA-Z]{3}(\.[a-zA-Z]{2,3})?$/真的这么认真的话,这条根本无法检测,因为会经常出来新的,常用的域名又不只这么几个。
    现有域名限制检测(com,net,org等检测):0分
      

  7.   

    如果用户不想输入他的EMAIL,随便输入一个看起来是的就可以了,
    感觉没必要为了一个EMAIL这么校验
      

  8.   

    真正的校验是连EMAIL的域名,有POP的连它的POP能连上,说明有此EMAIL存在
      

  9.   

    function Trim(str){
    return str.replace(/(^\s*)|(\s*$)/,"");
    }function ValidEmail(str){
    var regEmail=/^([a-z][a-z0-9\_\.]*[a-z0-9])(@)(([a-z0-9][a-z0-9\-]*[a-z0-9][\.])+(com|cn|net|hk|tw|au|uk|de))$/i;
    return regEmail.test(Trim(str));
    }
      

  10.   

    (com|cn|net|hk|tw|au|uk|de)
    这个里面是域名的最后一节
    可以自己加
    (com|cn|net|hk|tw|au|uk|de|tv|info|biz|ru)
    等等
      

  11.   

    请注意:这样的信箱也是合理的:
    [email protected]
    .....
    附:http://www.linkwan.com/gb/routertech/netbase/dn.htm-----
    >>> 域名有哪些类型? ◇ 由于Internet最初是在美国发源的,因此最早的域名并无国家标识。国际互联网络信息中心最初设计了六类域名或网站,它们分别有不同的后缀结尾:.com ---商业公司 ;.org ---组织、协会等 ;.net ---网络服务 ;.edu ---教育机构 ;.gov ---政府部门 ;.mil ---军事领域 。◇ 1998年1月开始,又启用7个新的顶级域名:.arts---艺术机构 ;.firm---商业公司 ;.info---提供信息的机构;.nom ---个人或个体 ;.rec ---消遣机构 ;.store--商业销售机构 ;.web ---与WWW相关的机构。◇ 2000年开始,又启用了新的顶级域名:.tv.cc◇ 随着Internet向全世界的发展,除了edu、gov、mil一般只在美国专用外,另外三个大类com、org、net则成为全世界通用,因此这三大类域名通常称为国际域名。 由于国际域名资源有限,各个国家、地区在域名最后加上了国家标识段,由此形成了 各个国家、地区自己的国内域名。◇ 国别的最高层域名:.cn ---中国;.au ---澳大利亚 ;.jp ---日本等。而美国因其特殊性,没有国别域名。◇ 通常,我们又有国内域名和国际域名的说法。其区别在于域名后面是否加有:“CN”
    >>> 注册域名需要什么条件? ◇ 国际域名 注册没有条件限制,单位和个人均可以申请,你只要填写我们的在线订单,告诉我们你需要的域名是什么,其它的事情由我们来帮你做。◇ 国内域名 注册申请人必须是依法登记并且能够独立承担民事责任的组织,然后填写我们的在线订单。
    >>> 哪些字母和数字可以用于域名? ◇ 英文26个字母和10个阿拉伯数字以及中横杠“-”可以用作域名。◇ 字母的大小写没有区别。◇ 每个层次最长不能超过26个字母。◇ 中文只能用作中文域名或者通用网址。