我正在尝试使用PHP正则表达式对日期字段“YYYYMMDD
”进行验证。我试过这样的事情
/([0-9]{4})([0-9]{2})([0-9]{2})/
但是在这一个中,对于MM或DD,它将接受任意两个数字,如01-99,但我希望MM的01-12和DD的01-31。有关这样做的任何建议吗?
感谢
答案 0 :(得分:4)
这应该做的工作:
function dateValidate($date) {
$t = strtotime($date);
return date('Ymd', $t) == $date;
}
编辑:值得注意的是,这不会像正则表达式那样快,但在明显的性能方面会很好。
答案 1 :(得分:3)
除了正则表达式,您还可以拆分字符串并使用 checkdate
查看日期是否有效。
答案 2 :(得分:1)
正则表达式对于日期验证似乎不太实用。为什么不将它分成几部分,然后使用checkdate()
?
答案 3 :(得分:0)
答案 4 :(得分:0)
请勿使用checkdate作为checkdate('1 \'','1','2000')验证为TRUE。