JDK1.4以上运用String的match(String pattern)方法.例如:(邮件格式假设为 X*@X*.XXX X-数字或字母)
       String pattern="\\w*@\\w*[.]\\w{1,3}";
       System.out.println(pattern);
       String testStr = "[email protected]";
      System.out.println(testStr.matches(pattern));\\w 指字母和数字
{1,3} 指最后一段为1到3位更详细的邮件格式需要自己搞清楚。

解决方案 »

  1.   

    public class Hello { public static void main(String[] args) {
                            
             String valide="@.";
    String mail="[email protected]";
    int flag=0;
    if(mail!=null)
     {
      for(int i=0;i<mail.length();i++)
      {
       if(valide.indexOf(mail.charAt(i))!=-1)
       {
         flag++;
       }
     }
    }

    if(flag==valide.length())   
    {
     System.out.println("OK ! E_mail is valide !");
    }
    else
    {
    System.out.println("Invalide E_mail Address !");
    }
      }
    }小弟写了一个,但象 @msn or @hot 的 E_mail 就通不过了,,,,你可以把 if(flag==valide.length)  改成: if(flag<=valide.length), 也就是说:不验证 "."....
    你自己 选了。
      

  2.   

    可以看看Struts里面的验证代码
      

  3.   

    js版:function isEmail(s)
    {
    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);
    if  (s.search(re)  !=  -1)  {
    return  true;
    }else{
    return  false;
    }
    }
      

  4.   

    since 1.4 String.matches方法可以,参照java.util.regex.Patternpattern = "\\w(\\.\\w)*@\\w(\\.\\w)+"大概是这样吧,除了@和. , 其他字符都应该符合\w,username中也可以有".", 当然也可以没有,所以是\\w(\\.\\w)*
    而@之后的地址名,我认为一定会出现".",所以\\w(\\.\\w)+而楼上的最后的".com"之类的限制有问题,比如.co,.jp,
      

  5.   

    shine333(enihs)! You are right