2 Stimmen

wie man das Alter des Anmelders während der Registrierung mit jquery überprüft

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.

7voto

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;
}

4voto

rezzif Punkte 460

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
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X