String str = "2004-01-01";
try {
  Timestamp.valueOf(str + " 00:00:00");
  System.out.print("right");
} catch (Exception ex) {
  System.out.print("wrong");
}

解决方案 »

  1.   

    js 的,java的正则表达式都可以实现
      

  2.   

    闰年之类的呢?Timestamp.valueOf("2000-01-33").getTime()之类的都能得出毫秒数,不会报错啊。
      

  3.   

    public boolean isDateStringValid(String s)
        {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d");
            if(null == s)
                return false;
            else
            {
                try
                {
                    return s.equals(sdf.format(sdf.parse(s)));
                }
                catch (ParseException e)
                {
                    return false;
                }
            }
        }其中日期格式一定要YYYY-M-D