用 checkdate(int month, int day, int year);$ar = array(
 "2003-1-32",
 "2003-4-30",
 "2003/1/02",
 "2003-01-02"
);
for($i=0;$i<count($ar);$i++)
  testdate($ar[$i]);function testdate($d) {
  if(ereg("([0-9]{2,4})[-/]([0-9]{1,2})[-/]([0-9]{1,2})",$d,$regs)) {
    if(checkdate($regs[2],$regs[3],$regs[1]))
      echo "$d 正确<br>";
    else
      echo "$d 错误<br>";
  }else
      echo "$d 错误<br>";
}