03. oktober 2003 - 14:09
Der er
9 kommentarer og 1 løsning
Skal være et mellemrum!
Hej eksperter! Har en validering af et dato felt, som jeg skal have udvidet til at den istedet for kun "dd-mm-åååå" kan tage "dd-mm-åååå tt:mm", men det er ikke lykkedes mig at validere på at tegn 10 skal være et mellemrum, syntes jeg har prøvet alt...! Min kode: if(myDate.length == 16){ if(!(myDate.charAt(10)==" ")){ alert("fejl: \""+myDate.charAt(10)+"\"") return false } } Håber nogen kan hjælpe???
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
03. oktober 2003 - 14:13
#1
Jeg er ikke Java-kyndig men skal length ikke være length()? + semikolon efter false?
03. oktober 2003 - 14:22
#2
det her virker hamrende godt =) <html> <script language="JavaScript"> function check() { myDate = document.getElementById('text').value; if(myDate.length == 16) { if(!(myDate.charAt(10)==" ")) { alert("fejl: \""+myDate.charAt(10)+"\""); return false; } } } </script> <input type="text" id="text"><br> <input type="button" value="Check" onClick="check();">
03. oktober 2003 - 14:31
#3
Hmmmm... Meget underligt, dit svar virker fint, men mit virker stadig ikke... Her er hele koden, håber stadig på hjælp... ;-) unction checkDate(myDate){ var myDate = myDate.replace(/^\s*(.*?)\s*$/, "$1"); if(myDate != "" && myDate.length != 10 && myDate.length != 16){ return false } if(myDate.length == 16){ if(!(myDate.charAt(10)==" ")){ alert("Fejl 10: \""+myDate.charAt(10)+"\"") return false }else if(myDate.charAt(13) != ":"){ alert("Fejl 13: \""+myDate.charAt(10)+"\"") return false } } if(myDate.charAt(2) != "-" || myDate.charAt(5) != "-"){ return false } for (i=0; i<myDate.length; i++) { if (i!=2 && i!=5 && i!=10 && i!=13) { if (myDate.charAt(i) < "0" || myDate.charAt(i) > "9"){ return false } } } return true }
03. oktober 2003 - 14:36
#4
kigger
03. oktober 2003 - 14:38
#5
hvis jag testar dette: <html> <script language="JavaScript"> function check(myDate) { var myDate = myDate.replace(/^\s*(.*?)\s*$/, "$1"); if(myDate != "" && myDate.length != 10 && myDate.length != 16) { return false } if(myDate.length == 16) { if(!(myDate.charAt(10)==" ")) { alert("Fejl 10: \""+myDate.charAt(10)+"\"") return false } else if(myDate.charAt(13) != ":") { alert("Fejl 13: \""+myDate.charAt(10)+"\"") return false } } if(myDate.charAt(2) != "-" || myDate.charAt(5) != "-") { return false } for (i=0; i<myDate.length; i++) { if (i!=2 && i!=5 && i!=10 && i!=13) { if (myDate.charAt(i) < "0" || myDate.charAt(i) > "9") { return false } } } return true } </script> <input type="text" id="text"><br> <input type="button" value="Check" onClick="alert(check(document.getElementById('text').value));"> så kan jeg se at det virker (min alert-box siger true hvis indtastningen er korrekt) er du sikker på at du sender in rætt stræng? hvordan kalder du funktionen og hvar exakt er fejlen?
03. oktober 2003 - 14:43
#6
Har du ikke fjernet mellemrummet med var myDate = myDate.replace(/^\s*(.*?)\s*$/, "$1");
03. oktober 2003 - 14:50
#7
erikjacobsen >> nu er jeg ikke så go til reg.exp. men det virker som det står nu, så jeg tror ikke mellemrummet førsvinner.
03. oktober 2003 - 14:58
#8
Har selv fundet fejlen... Det var fordi jeg havde brug " " som mellemrum mellem dato og tid, og det kunne JavaScriptet altså åben bart ikke forstå!!!
03. oktober 2003 - 14:59
#9
Nogen der evt. ved hvad myDate.charAt(10) skal være lige med når der er brugt " "...! Bare nysgerig!
03. oktober 2003 - 21:38
#10
myDate.substring(10,16)==" "
Vi tilbyder markedets bedste kurser inden for webudvikling