问题出在.号后的[a-zA-Z0-9\-]{2}
它指定有两位字符才到com

解决方案 »

  1.   

    RegExp("^[^@ ]+@([a-zA-Z0-9\-]+\.)+(net|com|gov|mil|org|edu|int|biz|info|firm|name|nato|nom|store|web|NET|COM|GOV|MIL|ORG|EDU|INT|BIZ|INFO|FIRM|NAME|NATO|NOM|STORE|WEB)$","g")
      

  2.   

    是正则表达式错了吗?
    这是一个非常大的网站注册用户时判断Email的依据!
      

  3.   

    $emailsearcharray = array("/([\n\r\t])|([_a-z0-9-]+(\.[_a-z0-9-]+)*@[^\s]+(\.[a-z0-9-]+)*(\.[a-z]{2,4}))/si", "/^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[^\s]+(\.[a-z0-9-]+)*(\.[a-z]{2,4}))/si");
    $emailreplacearray = array("\\1<a href=mailto:\\2>\\2</a>", "<a href=mailto:\\0>\\0</a>");
    preg_replace($emailsearcharray, $emailreplacearray, $temp);这是我用的一个自动转换E-mail地址为超链接的正则表达式,是Perl兼容的,你参考一下吧!