PHP - 正则表达式验证日期

问题描述:

我想在PHP“01/02”日和月验证日期格式。无论如何,我无法得到这个工作。有谁知道我在这种情况下做错了什么?它口口声声说我的日期无效由于某种原因..PHP - 正则表达式验证日期

if(!preg_match('/^((0[1-9])|(1[0-2]))\/(\d{2})$/',$postDate)) { 
$array['error'] = 'true'; 
$array['errorMessage'] = 'Ugyldig dato (DD/MM)'; 
} 
+3

你想匹配日/月(如你在你的问题中写的)或月/日(如你写在你正确的看似正则表达式)? – NikiC 2011-03-15 14:08:23

+0

哦,上帝,我弄错了这一切!老兄,谢谢你看到这个,我一定是盲目的!哈哈! – Dexty 2011-03-15 14:11:04

+0

@nikic:看起来更像月/年。 (除非第二个数字不需要验证) – 2011-03-15 14:11:22

看起来你想通了你的主要问题,但我想指出的是,你的约会模式的“一天”的部分是非常宽泛的。我使用的东西接近这个:

([012]\d|3[01]) 

这并不从投入的东西像31/02(即二月31)停止的人,虽然。这可以解决,它只是使正则表达式更长。让我知道你是否在意这一点,我会编辑。

+0

感谢贾斯汀的手下,我刚刚重写了正则表达式,现在它工作的很棒!不管怎么说,还是要谢谢你 :) – Dexty 2011-03-15 14:46:36