15. januar 2006 - 16:03Der er
4 kommentarer og 1 løsning
Valider om en person er over 18 år
Hej eksperter...
Jeg har bøvlet med at få et javascript til at finde ud af, om man er over 18 år...
I inputfeltet angives fødselsdatoen som 'dd-mm-åååå', og jeg har brug for at vide om brugeren er over 18 for at han/hun kan fortsætte (dette er IKKE til et pornosite!!!)...
Brugeren skriver altså selv datoen i feltet, og jeg validerer på, at formatet er præcis som herover - mangler så bare at finde ud af, om personen er over 18 - hvis ikke, skal man alertes...
Den største probelmatik er, at datoer ikke er lige ud, og kan give problemer ved månedsskifter m.m., men f.eks.
<script type="text/javascript"> function validAge(elm){ if(!elm.value.match(/^\d\d\-\d\d\-\d{4}$/)){ alert("Forkert format for fødselsdato!"); elm.focus(); return false; } var d = elm.value.split("-"); var oD = new Date(d[2],d[1]-1,d[0]); if(oD.getFullYear() != d[2] || oD.getMonth()+1 != d[1] || oD.getDate() != d[0]){ alert("Ugyldig fødselsdato!"); elm.focus(); return false; } var nu = new Date(); if(d[2]>nu.getFullYear()-18 || (d[2]==nu.getFullYear()-18 && d[1]-1>nu.getMonth()) || (d[2]==nu.getFullYear()-18 && d[1]-1==nu.getMonth() && d[0]<nu.getDate())){ alert("Du skal være over 18 år for at deltage i denne konkurrence!"); location.href = "underAtten.html"; } } </script>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.