Avatar billede Slettet bruger
26. januar 2005 - 18:44 Der er 7 kommentarer

dato validering

Jeg vil gerne skrive følgende om så det kan håndtere formater i DD-MM-ÅÅÅÅ

                            <script language="JavaScript">
function tjekDato(dat) {
  temp = dat.split("-");
  d = new Date(parseInt(temp[0], 10), parseInt(temp[1], 10) - 1, parseInt(temp[2], 10));
  if (d.getFullYear() != parseInt(temp[0], 10) || (d.getMonth() + 1) != parseInt(temp[1], 10) || d.getDate() != parseInt(temp[2], 10)) {
    alert("Datoen skal skrives i formatet DD-MM-ÅÅÅÅ!");
    return false;
  }
  nu = (Hvordan sætter jeg min egen dato ind her fra en input felt?)
  if (d.getTime() < nu.getTime()) {
    alert("Ønsker du fremvisning med et varsel på mindre end 1 uge så vælg ring mig op.!");
    return false;
  }
  return true;
}
</script>
Avatar billede roenving Novice
26. januar 2005 - 22:41 #1
Vil du kontrollere, at formatet er DD-MM-ÅÅÅÅ ?-)

-- for så kan du bare sætte et check ind før den egentlige dato-validering:

<script type="text/javascript">
function tjekDato(dat) {
  if(!/^\d{2}-\d{2}-\d{4}$/.test(dat)){
    alert("Datoen skal skrives i formatet DD-MM-ÅÅÅÅ!");
    return false;
  }
  temp = dat.split("-");
  d = new Date(parseInt(temp[2], 10), parseInt(temp[1], 10) - 1, parseInt(temp[0], 10));
  if (d.getFullYear() != parseInt(temp[2], 10) || (d.getMonth() + 1) != parseInt(temp[1], 10) || d.getDate() != parseInt(temp[0], 10)) {
    alert("Datoen skal være en gyldig dato");
    return false;
  }
  nu = new Date(new Date().getTime() - 7 * 24 * 60 * 60 * 1000);/*7 dage à 24 timer, 60 min. og 60 sek. i 1000-dele*/
  if (d.getTime() < nu.getTime()) {
    alert("Ønsker du fremvisning med et varsel på mindre end 1 uge så vælg ring mig op.!");
    return false;
  }
  return true;
}
</script>
Avatar billede Slettet bruger
27. januar 2005 - 08:16 #2
Jeg tror det er det den gør i første if sætning... scriptet er lavet til at tjekke formater i YYYY-MM-DD og mit format er DD-MM-YYYY
Avatar billede roenving Novice
27. januar 2005 - 12:02 #3
Jeg vendte det netop også om, så den nu tager dd-mm-åååå !-)
Avatar billede Slettet bruger
27. januar 2005 - 16:56 #4
Ok men jeg synes den godkender datoer der er mindre end syv dage?
Avatar billede roenving Novice
30. januar 2005 - 14:48 #5
Jamen, så

if (d.getTime() > nu.getTime()) {
Avatar billede Slettet bruger
31. januar 2005 - 19:38 #6
nu godkender den ingenting...selvom jeg sætter datoen til 23 feb så melder den "Ønsker du fremvisning med et varsel på mindre end 1 uge så vælg ring mig op"
Avatar billede Slettet bruger
31. januar 2005 - 20:08 #7
det funktionen skal gøre er at tage en dato i formatet DD-MM-ÅÅÅÅ og se om det er en gyldig dato (eks ikke 31-02-2005) og om datoen er skrevet i formatet DD-MM-ÅÅÅÅ og tilsidst skal den tjekke at datoen der indtastes er mere eller = 7 dage frem i tiden.
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