Ich möchte alle Benutzer filtern, die sich auf meiner Website anmelden können. Wie kann ich das Alter des Anmelders filtern, indem ich Jquery verwende, das 18 Jahre und älter zulässt, aber wenn das Alter 13 bis 17 Jahre alt ist, können sie sich anmelden, aber sie müssen das Kontrollkästchen für die elterliche Zustimmung aktivieren. Ich verwende ein Textfeld mit dem Format mm/dd/yyyy.
Antworten
Zu viele Anzeigen?
Christian C. Salvadó
Punkte
763569
Mein erster Gedanke:
Verwendung:
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;
}
Erstellen Sie 3 Datumsobjekte - ihren Geburtstag, den Geburtstag eines 13-Jährigen und den Geburtstag eines 18-Jährigen, damit sie heute 18/13 Jahre alt werden.
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
}