php日期格式合法性正则验证代码

本款php日期格式合法性的验证代码,提供了三种验证用户输入的日期是不是正确的日期格式,二种是用正则日期验证,一种是用checkdate来验证。

  1. $days = date("y-m-d");
  2. //方法一正则验证日期
  3. $reg="/d{4}-d{2}-d{2}/";
  4. preg_match($reg,$days,$arr);
  5. print_r($arr);
  6. //方法二用cehckdate验证
  7. $k = explode('-',$days);
  8. if( checkdate($k[1],$k[2],$k[0]) )
  9. {
  10. echo $days,'日期合法';
  11. }
  12. else
  13. {
  14. echo '不是有效的日期';
  15. }
  16. //方法三简单直观正则验证
  17. if( ereg("(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$",$days))
  18. {
  19. echo $days,'为有效日期';
  20. }
  21. else
  22. {
  23. echo
  24. '无效日期';
  25. }

关于 checkdate函数

checkdate() 函数验证一个格里高里日期。

如果指定的值合法,则该函数返回 true,否则返回 false。

日期在下列情况下为合法:

month 介于且包括 1 - 12

day 的值在给定的 month 所应该具有的天数范围之内,闰年已经考虑进去了。

year 介于且包括 1 到 32767

验证格式为 月/日/年