我需要模式来验证具体的字符串

时间:2014-05-19 14:09:54

标签: php

我需要一个函数来验证GET ['date']参数中提供的任何字符串。

如果提供的字符串格式为“j-n-Y”,则该函数将返回true,并且是今天和未来之间的日期。

示例:

http://mysite.org/index.php?date=iwhechiuhwe将返回false。

http://mysite.org/index.php?date=13-5-2017将返回true。

http://mysite.org/index.php?date=13-5-2010将返回false。

http://mysite.org/index.php?date=19-5-2014将返回true。

1 个答案:

答案 0 :(得分:0)

$dateResult = DateTime::createFromFormat('j-n-Y', $_GET['date']);

PHP的DateTime类中的此方法如果无法从请求的格式和给定字符串创建日期对象,则返回false。

进一步测试以验证给定日期是今天还是将来(如果$dateResult尚未为假):

$now = strtotime('Y-m-d', time());
$isValid = $dateResult->getTimestamp() >= $now;