function validateDate( $date )
{
echo $date;
//2012-08-24 20:30:00
if(preg_match('/^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([1-2]{1})([0-9]{1}):([0-5]{1})([0-9]{1}):([0-5]{1})([0-9]{1})$/', $date) >= 1)
{
return true;
}
else
{
return false;
}
}
这总是返回 false。我使用了一个唯一的工具来构建正则表达式,它在那里工作得很好。当我将“/”添加到正则表达式时,麻烦就开始了。不知何故,PHP 似乎需要这些,但我不知道为什么,也不知道为什么它会破坏我的正则表达式。
它应该为某事返回 TRUE。像“2012-08-24 20:30:00”和“asdf2012-08-24 20:30:00asdf”的 FALSE 或任何不符合我的正则表达式的东西
提前致谢!
------------------------------------编辑感谢您的所有回答!
正如一些用户指出的那样,我的函数对于示例日期“2012-08-24 20:30:00”返回 true。但是,只有当我手动设置 $date='2012-08-24 20:30:00' 时才会这样做。如果我在代码中的其他地方使用完全相同的字符串调用该函数,它将返回 false。有谁知道为什么?
------------------------ EDIT2
是的,很抱歉浪费您的时间,实际上是在字符串中添加了一些空格。在调用我的函数之前在我的日期使用 trim() 现在会给出正确的结果。
感谢大家!