Avatar billede thingholm.dk Nybegynder
12. september 2003 - 22:01 Der er 11 kommentarer og
1 løsning

Check dato format

Hej

Jeg har en form med et indtastningsfelt:

<input name="formBirthday" type="text" class="Textfield" id="formBirthday" value="dd/mm/&aring;&aring;&aring;&aring" onFocus="if(this.value=='dd/mm/&aring;&aring;&aring;&aring')this.value='';" onBlur="if(this.value=='')this.value='dd/mm/&aring;&aring;&aring;&aring';"></td>

Ved submit kører jeg en funktion som tjekker forskellige ting, men hvordan sætter jeg den til at tjekke at datoen er i det rigtige format? dvs. dd/mm/åååå

dd kan kun være 1-31
mm kan kun være 1-12
åååå skal være 4 cifre
dd, mm og åååå skal være adskilt af /

VH

Anders
Avatar billede simonvalter Praktikant
12. september 2003 - 22:12 #1
Avatar billede roenving Novice
12. september 2003 - 22:12 #2
En anelse lettere: (taget fra: http://roenving.users.whitehat.dk/WD3Input.html !-)
<input name="formBirthday" type="text" class="Textfield" id="formBirthday" value="dd/mm/&aring;&aring;&aring;&aring" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;">


//checkdate:
function checkDate(fld){
reg = /^(30|31|[0-2]\d)\/(10|11|12|0\d)\/(1|2)\d{3}$/;
if(!fld.value.match(reg))alert('Fejl i dato!-)')
}
Avatar billede roenving Novice
12. september 2003 - 22:14 #3
Måske:
reg = /^(30|31|[0-2]\d)\/(10|11|12|0\d)\/(19|20)\d{2}$/;
Avatar billede thingholm.dk Nybegynder
12. september 2003 - 22:19 #4
Denne virker tilsyneladende ikke:

    reg = /^(30|31|[0-2]\d)\/(10|11|12|0\d)\/(19|20)\d{2}$/;
    if(!document.forms[0].formBirthday.value.match(reg))
        alert('Fejl i dato.');
        document.forms[0].formBirthday.focus();
        error = 1;
    }
Avatar billede thingholm.dk Nybegynder
12. september 2003 - 22:19 #5
reg = /^(30|31|[0-2]\d)\/(10|11|12|0\d)\/(19|20)\d{2}$/;
    if(!document.forms[0].formBirthday.value.match(reg)){
        alert('Fejl i dato.');
        document.forms[0].formBirthday.focus();
        error = 1;
    }
Avatar billede roenving Novice
12. september 2003 - 22:27 #6
Den virker helt stabilt hos mig ...

Er du sikker på at det bliver udført ?-)

prøv at sætte en alert(document.forms[0].formBirthday.value) lige før reg = ...
Avatar billede thingholm.dk Nybegynder
12. september 2003 - 22:44 #7
Hej igen

hvis jeg kører denne:

alert(document.forms[0].formPassword1.length);

skriver den bare undefined, selvom der er noget i feltet (kan ses med :

alert(document.forms[0].formPassword1.value);

VH

Anders
Avatar billede roenving Novice
12. september 2003 - 22:47 #8
Der er også en fejl på den første:
alert(document.forms[0].formPassword1.value.length);
Avatar billede thingholm.dk Nybegynder
12. september 2003 - 22:57 #9
ahhhh, så virker det :-) Smider ud et svar roenving?
Avatar billede roenving Novice
12. september 2003 - 22:59 #10
Velbekomme '-)
Avatar billede thingholm.dk Nybegynder
12. september 2003 - 23:04 #11
gracias
Avatar billede roenving Novice
12. september 2003 - 23:04 #12
-- og jeg takker for points ;~}
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