我有一个表单,用户可以使用该表单编辑自己的生日日期,我将生日期保存在数据库中,格式为15/24/1989
,即dd / mm / yyyy
如何检查表单生日发布值的格式是否如图所示?
如果我通过12/00 / hello怎么办?
我认为我只需要数字,并且在日期01>的范围内。 dd< 31,01> mm< 12,1920> yyyy< current_year -
答案 0 :(得分:3)
$date = date("d/m/Y", strtotime($this->input->post('date')));
要以此格式验证日期,您应该使用此功能。
function checkDateFormat($date) {
if (preg_match('/^\d{2}\/\d{2}\/\d{4}$/', $date)) {
if(checkdate(substr($date, 3, 2), substr($date, 0, 2), substr($date, 6, 4)))
return true;
else
return false;
} else {
return false;
}
}
它将检查日期格式,并使用PHP checkdate()
函数检查实际日期本身。
checkDateFormat("10/10/2010"); // true
checkDateFormat("29/02/2008"); // true
checkDateFormat("29/02/2007"); // false
checkDateFormat("10/10/20101"); // false
checkDateFormat("ilikecookie"); // false
等
答案 1 :(得分:0)
date("d/m/Y", strtotime(this->input->post('date'))