我正在尝试在PHP“01/02”日和月中验证日期格式。无论如何,我无法让这个工作。任何人都知道我在这种情况下做错了什么?它一直说我的日期因某种原因无效......
if(!preg_match('/^((0[1-9])|(1[0-2]))\/(\d{2})$/',$postDate)) {
$array['error'] = 'true';
$array['errorMessage'] = 'Ugyldig dato (DD/MM)';
}
答案 0 :(得分:1)
看起来你找出了你的主要问题,但我想指出你日期模式的“日”部分相当广泛。我会用更接近这个的东西:
([012]\d|3[01])
然而,这并不能阻止人们投入像31/02(即2月31日)这样的东西。这可以修复,它只会使正则表达式更长。如果您关心这一点,请告诉我,我会进行编辑。