本帖最后由 ailby0709 于 2011-01-06 15:09:25 编辑

解决方案 »

  1.   

    http://blog.csdn.net/lxcnn/archive/2009/07/20/4362500.aspx
      

  2.   

    SimpleDateFormat来转换,如果转换出错,嘿嘿,那就是不对
      

  3.   

    简单点的:
    \d{4}/(?:[0]\d|1[0-2])/(?:[0]\d|[1-2][0-2]|3[01])
      

  4.   

    ^\d{4}/(?:[0]\d|1[0-2])/(?:[012]\d|3[01])$
      

  5.   

    呵呵 在网上找到的 又改了一点点        
            // 格式必须为“YYYY/MM/DD”
    public static boolean isValidDate(String sDate) {
         String datePattern1 = "\\d{4}/\\d{2}/\\d{2}";
         String datePattern2 = "^((\\d{2}(([02468][048])|([13579][26]))"
                 + "[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|"
                 + "(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?"
                 + "((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?("
                 + "(((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?"
                 + "((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
         if ((sDate != null)) {
             Pattern pattern = Pattern.compile(datePattern1);
             Matcher match = pattern.matcher(sDate);
             if (match.matches()) {
                 pattern = Pattern.compile(datePattern2);
                 match = pattern.matcher(sDate);
                 return match.matches();
             }
             else {
                 return false;
             }
         }
         return false;
    }
    拿出来大家看一下哈 我的校验通过了
      

  6.   

    必须要引入的包哈 忘了
    import java.util.Date;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;