验证出生日期和检查年龄

问题描述:

在我的表单中,我使用下拉菜单来显示日,月,年。你能帮我验证日期吗?我必须验证输入的年龄是否大于15.同时检查闰年等。验证出生日期和检查年龄

+0

时间来接受一个答案。 – 2010-05-27 10:34:30

PHP函数checkdate是您正在查找的内容。

checkdate() 

年龄是不是太硬太:

$validdate = (date("Y")-15).date("-m-d"); 
$bday = "$y-$m-$d"; 
if ($bday > $validdate) echo "underage!"; 
+0

感谢大家的宝贵意见。 – 2010-05-26 07:01:23

你必须先转换你的输入日期YYYY-MM-DD frormate.you不能直接将validatation。你必须把你的日期转换成时间戳,然后你必须检查验证。

$strSystemMaxDate = (date('Y') - 15).'/'.date('m/d'); 
if(strtotime($strDateOfBirth) > strtotime($strSystemMaxDate)) 
{ 
    $arrErrors[] = _("Minimum age is 15 years."); 
    $blnValidated = false; 
} 
+0

为什么要用时间戳比较?字符串也可以进行比较 – 2010-05-26 09:42:29

<?php 
    $yy = $_POST[ "yy" ]; 
    $mm = $_POST[ "mm" ]; 
    $dd = $_POST[ "dd" ]; 
    if (checkdate($mm, $dd, $yy) === false) 
    { 
     die("Invalid date"); 
    } 
    $birthDate = mktime(0, 0, 0, $mm, $dd, $yy); 
    $fifteenYearsAgo = strtotime("-15 years"); 
    if ($birthDate > $fifteenYearsAgo) 
    { 
     die("You're underage!"); 
    } 
?>