是否有正则表达式来检查正确的PHP日期格式条目?

时间:2011-02-20 22:16:49

标签: php

我有一个输入框,允许用户以PHP日期格式输入日期格式,例如: M j,Y

我想在提交时验证用户实际输入的是PHP日期格式的日期。我已经准备好了验证脚本,我只需要一个正则表达式或某种方式来检查用户是否实际输入了有效的PHP日期符号。

这甚至可能吗?

感谢您的任何见解!

3 个答案:

答案 0 :(得分:2)

关于PHP checkdate function的评论充满了例子。

例如,像this这样的东西:

<?php
function IsDate( $Str )
{
  $Stamp = strtotime( $Str );
  $Month = date( 'm', $Stamp );
  $Day   = date( 'd', $Stamp );
  $Year  = date( 'Y', $Stamp );

  return checkdate( $Month, $Day, $Year );
}
?>

答案 1 :(得分:0)

查看date_parse

我想要指出的是,通过使用日历小部件首先阻止它或者某些类型来输入日期而不是允许自由格式文本,通常可以更好地处理这类事情。

答案 2 :(得分:0)

此正则表达式适用于格式为“2010-02-10”的日期或带有斜杠且前面没有0的日期。然后你可以在php中使用checkdate函数进行进一步的验证

  function checkDateFormat($date){

     if (preg_match("#^([0-9]{4})(-|/)([0-9]?[0-9])(-|/)([0-9]?[0-9])$#", $date, $parts)){
            if (checkdate(parts[2],$parts[3],$parts[1])){
                return true;
            else return false;
     }
  }