2009-07-29 2 views
2

내 웹 사이트에 등록 할 수있는 모든 사용자를 필터링하고 싶습니다. 18 세 이상의 jquery를 사용하여 등록자의 나이를 어떻게 필터링 할 수 있습니까?하지만 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

내 첫번째 생각 :

사용법 : 그들은 18 인 경우 만 알아 보려는 주어진

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

내가 아마 그 시점 후 반환 것 에 도달하면 90 세 어린이들이 가입하려고 할 때 시스템을 질식시키지 않습니다. P – rezzif

+0

LOL, 나는 항상 너무 일반적이라고 생각합니다. – CMS

+0

둘 다 감사합니다 너! 두 코드를 결합했습니다. – text

관련 문제