2009-11-30 130 views
0

我有試圖找出如何創建一個HTML輸入框,像這樣的日期問題:HTML和PHP日期輸入字段

YYYY-MM-DD

我在想,如果有一個比我更好的方法比手動創建 這樣的東西,然後使用 - 分隔符來分隔YYYY-MM-DD。

我將使用正則表達式做一些驗證用戶輸入的出生日期,以確保它是大於21

<label for="dob">Age (YYYY-MM-DD)</label> 
<input id="dateofbirth" type="text" name="age" maxlength="10"/><span>*</span><br /> 

這裏是我的,這將是裏面的日期後的正則表達式在PHP端功能了checkdate:

return preg_match('/(\d{4})-(\d{2})-(\d{2})/', $date); 

設定日期,以便將只需要輸入來自用戶的超過21 目前這個沒有。
$ date ='1974-12-03';

回答

2

if($age = strtotime($date)){ 
if((date('Y',time()) - date('Y',$age) >= 21){ 
    return true; 
}else{ 
    return false; } 
}else{ 
echo 'There seems to be something wrong with your age input'; 
} 

這將驗證該用戶是在/等於21

+1

歲的時候我就驗證了的strtotime回報,這樣你就可以給用戶相應的錯誤信息之前完成本次測試沒有失敗 – Dan 2009-11-30 22:01:54

+0

對,它總是最好的來驗證任何發佈在post/get var上的數據。 ((date('Y',time()) - date('Y',$ age)> = 21){return true;} else {return false(012) ;} } else { echo'你的年齡輸入似乎有問題'; } – 2009-11-30 22:07:55

+0

對不起,這並沒有真正結束,我編輯了我的主要帖子 – 2009-11-30 22:08:49

3

我會簡單地使用一個jquery date picker

這樣您就不必擔心輸入格式,並且您可以輕鬆獲取以單一格式輸入的日期,以便在JavaScript或PHP中執行驗證(如果將日期傳遞迴服務器)。