Avatar billede kledal Nybegynder
08. november 2002 - 10:03 Der er 2 kommentarer og
1 løsning

Tjekke om et felt indeholder

en dato, altså
2 tal så bindestreng så 2 tal så bindestreng så 2 tal
Ex. 23-02-2002
Og tallene må selvfølgelig ikke være højere end en dato kan være!
Hvordan ser et sådant script ud??

mvh kledal
Avatar billede Slettet bruger
08. november 2002 - 10:18 #1
der er denne: kører på : dd:mm:åååå

<script language="JavaScript">
<!--
function validatedate(f) {
    if (f.dato.value=="") {
      alert("Du skal skrive en dato");
      return false;
    }
    if (f.dato.value.length!=10) {
      alert("Datoen skal skrives på formen DD-MM-ÅÅÅÅ");
return false;
    }
    if (f.dato.value.charAt(2)!="-" || f.dato.value.charAt(5)!="-") {
      alert("Datoen skal skrives på formen DD-MM-ÅÅ");
      return false;
    }
    var dd=parseInt(f.dato.value.substring(0,2),10);
    var mm=parseInt(f.dato.value.substring(3,5),10);
    var yyyy=parseInt(f.dato.value.substring(6,10),10);
    if (mm<1 || mm>12 || dd<1 || dd>31) {
      alert("Ulovlig dato");
      return false;
    }
    d=new Date(yyyy,mm-1,dd,0,0,0,0);
    if (d.getFullYear()!=yyyy || (d.getMonth()+1)!=mm || d.getDate()!=dd) {
      alert("Ulovlig dato2");
      return false;
    }
    return true;
}
//-->
</script>

mvh.
Questis.dk
Avatar billede Slettet bruger
08. november 2002 - 16:31 #2
Lidt smartere (synes jeg):

function tjekDato(dat) {
reg = /^\d{2}-\d{2}-\d{4}$/;
if (!dat.match(reg)) {
alert("Datoen skal være i formatet dd-mm-åååå!");
return false;
}
dag = parseInt(dat.substring(0, 2), 10);
maa = parseInt(dat.substring(3, 5), 10) - 1;
aar = parseInt(dat.substring(6, 10), 10);
md = new Array(31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if (maa < 1 || maa > 11) {
alert("Månednummeret skal være imellem 1 og 12 (og det ved du jo også godt)!");
return false;
}
if (maa == 1)
md[1] = (aar % 400 == 0 || (aar % 4 == 0 && aar % 100 != 0)) ? 29 : 28;
if (dag == 0 || dag > md[maa]) {
alert("Datoen er forkert!");
return false;
}
return true;
}
Avatar billede kledal Nybegynder
15. november 2002 - 10:25 #3
jeg fik et svar i en anden konference som virkede, ellers tak for hjælpen
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