2009-07-29 46 views
2

我想篩選所有可以在我的網站上註冊的用戶。我如何過濾使用jquery允許18歲及以上的註冊人的年齡,但年齡在13至17歲時,他們可以註冊,但他們必須檢查複選框,以獲得父母的同意。我正在使用帶有mm/dd/yyyy格式的文本框。如何使用jquery在註冊期間檢查註冊人的年齡

回答

4

創建3個日期對象 - 他們的生日,13歲的生日和18歲的生日,他們今天是18/13。


var input = document.get.. 
var dobArr = input.value.split("/"); 
var dob = new Date(); 
dob.setFullYear(dobArr[2], dobArr[0]-1, dobArr[1]); 
var date18 = new Date(); 
date18.setFullYear(dobArr[2]-18); 
var date13 = new Date(); 
date13.setFullYear(dobArr[2]-13); 

if (dob.valueOf() >= date18.valueOf()) { 
//i'm at least 18 
} else if (dob.valueOf() >= date13.valueOf()) { 
//i'm at least 13 but not 18 
} else { 
//i'm less than 13 
} 
7

我首先想到的:

用法:

var age = getAge(new Date(1984, 7, 31)); 

function getAge(birthDate) { 
    var now = new Date(); 

    function isLeap(year) { 
    return (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0)); 
    } 

    // days since the birthdate  
    var days = Math.floor((now.getTime() - birthDate.getTime())/1000/60/60/24); 
    var age = 0; 
    // iterate the years 
    for (var y = birthDate.getFullYear(); y <= now.getFullYear(); y++){ 
    var daysInYear = isLeap(y) ? 366 : 365; 
    if (days >= daysInYear){ 
     days -= daysInYear; 
     age++; 
     // increment the age only if there are available enough days for the year. 
    } 
    } 
    return age; 
} 
+0

因爲你只是想看看他們是18我可能會回到曾經那個點已達到90歲兒童在嘗試註冊時不會窒息系統:P – rezzif 2009-07-29 06:55:43