Avatar billede lund_dk Praktikant
27. januar 2007 - 21:56 Der er 4 kommentarer og
1 løsning

Validere fødselsdato

Hej

Hvordan validerer jeg et felt med fødselsdato.

Formatet skal være 13-07-1983
Avatar billede mcgoat Nybegynder
27. januar 2007 - 22:00 #1
// returns true if the string is a valid date formatted as...
// mm dd yyyy, mm/dd/yyyy, mm.dd.yyyy, mm-dd-yyyy
function isDate(str){
  var re = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{4})$/
  if (!re.test(str)) return false;
  var result = str.match(re);
  var m = parseInt(result[1]);
  var d = parseInt(result[2]);
  var y = parseInt(result[3]);
  if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;
  if(m == 2){
          var days = ((y % 4) == 0) ? 29 : 28;
  }else if(m == 4 || m == 6 || m == 9 || m == 11){
          var days = 30;
  }else{
          var days = 31;
  }
  return (d >= 1 && d <= days);
}

Noget du kan bruge?
Avatar billede roenving Novice
28. januar 2007 - 06:05 #2
Hvis du kun vil acceptere det nævnte format, og vil have en 100% generisk validering af gyldigheden af datoen kan du:

function validDate(dato){
  if(!dato.match(/\d\d-\d\d-\{4}/)){
    alert("Datoen skal skrives i formatet: dd-mm-åååå");
    return false;
  }
  dato = dato.split("-");
  var d = new Date(+dato[2],+dato[1]-1,+dato[0]);
  if(d.getFullYear() != +dato[2] || d.getMonth() != +dato[1]-1 || d.getDate() != + dato[0]){
    alert("Du skal angive en gyldig dato");
    return false;
  }
  return true;
}
Avatar billede lund_dk Praktikant
12. februar 2007 - 15:20 #3
tak !

Smid svar
Avatar billede roenving Novice
15. februar 2007 - 09:35 #4
Hov, der var jo lige smuttet et d:

  if(!dato.match(/\d\d-\d\d-\d{4}/)){

-- els velbekomme '-)
Avatar billede roenving Novice
22. februar 2007 - 17:00 #5
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester