Avatar billede wsd Nybegynder
10. juli 2005 - 15:43 Der er 5 kommentarer og
1 løsning

Dato validering af fire formater

Hej!

Er der nogle der kan hjælpe mig med at lave dette script så der kan indtastes dato i de fire formater her

DD.MM.ÅÅÅÅ
DD-MM-ÅÅÅÅ
DD/MM/ÅÅÅÅ
DD MM ÅÅÅÅ

<script language="JavaScript">
<!--
function Form_Tjek(theForm) {
    if (theForm.dato_opsat.value=="") {
      alert("Du skal skrive en dato");
      return false;
    }
    if (theForm.dato_opsat.value.length!=10) {
      alert("Datoen skal skrives på formen DD.MM.ÅÅÅÅ | DD-MM-ÅÅÅÅ | DD/MM/ÅÅÅÅ | DD MM ÅÅÅÅ");
return false;
    }
    if (theForm.dato_opsat.value.charAt(2)!="." || theForm.dato_opsat.value.charAt(5)!=".") {
      alert("Datoen skal skrives på formen DD.MM.ÅÅÅÅ | DD-MM-ÅÅÅÅ | DD/MM/ÅÅÅÅ | DD MM ÅÅÅÅ");
      return false;
    }
    var dd=parseInt(theForm.dato_opsat.value.substring(0,2),10);
    var mm=parseInt(theForm.dato_opsat.value.substring(3,5),10);
    var yyyy=parseInt(theForm.dato_opsat.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 (theForm.getFullYear()!=yyyy || (d.getMonth()+1)!=mm || d.getDate()!=dd) {
      alert("Ulovlig dato2");
      return false;
    }
return true;
}
//-->
</script>
Avatar billede roenving Novice
10. juli 2005 - 15:53 #1
Sådan ?-)

<script type="text/javascript">
function Form_Tjek(theForm) {
  if (theForm.dato_opsat.value=="") {
    alert("Du skal skrive en dato");
    return false;
  }
  if(!theform.dato.value.match(/^\d\d[\.\/ -]\d\d[\.\/ -]\d{4}$/){
    alert("Datoen skal skrives på formen DD.MM.ÅÅÅÅ | DD-MM-ÅÅÅÅ | DD/MM/ÅÅÅÅ | DD MM ÅÅÅÅ");
    return false;
  }
  var dd=parseInt(theForm.dato_opsat.value.substring(0,2),10);
  var mm=parseInt(theForm.dato_opsat.value.substring(3,5),10);
  var yyyy=parseInt(theForm.dato_opsat.value.substring(6,10),10);
  d=new Date(yyyy,mm-1,dd,0,0,0,0);
  if (theForm.getFullYear()!=yyyy || (d.getMonth()+1)!=mm || d.getDate()!=dd) {
    alert("Ulovlig dato");
    return false;
  }
return true;
}
</script>
Avatar billede wsd Nybegynder
10. juli 2005 - 22:58 #2
Takker du får point roenving, der var lidt der skulle rettes til men ikke mere end jeg fik det til at virke.

  if(!theForm.dato_opsat.value.match(/^\d\d[\.\/ -]\d\d[\.\/ -]\d{4}$/)){
        ^        ^^^^^^                                              ^

Hvordan gør jeg så hvis jeg også vil kunne indtaste dato og måned som et tal?
Avatar billede wsd Nybegynder
10. juli 2005 - 23:09 #3
Hvordan giver jeg dig point?
Avatar billede roenving Novice
11. juli 2005 - 02:28 #4
Hvad mener du med at indtaste dato og måned som tal ?-)

Vil du have dem som separate indtastningsfelter eller ...

-- og du skal selvfølgelig beholde de fleste point selv, men nu får du i hvert fald et svar '-)
Avatar billede wsd Nybegynder
11. juli 2005 - 10:25 #5
Det jeg mener, er 1.9.2005 i stedet for 01.09.2005
Avatar billede roenving Novice
28. juli 2005 - 20:52 #6
if(!theForm.dato_opsat.value.match(/^\d\d?[\.\/ -]\d\d?[\.\/ -]\d{4}$/)){

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