17. marts 2008 - 21:20
Der er
10 kommentarer og 1 løsning
javascript check på input
hej jeg ved at lave noget tilmeldingsystem til min klasse, jeg vil gerne tjekke at en input "tlf" = kun tal og max 8 cifre en input "adr" = kun tal og bokstaver og max 25 cifre (altså ikke +´= osv..) kan man nemt det? sådan et check på submit knappen inden den sender dataen
Annonceindlæg fra Barco
17. marts 2008 - 21:48
#1
til første del.. <HTML> <HEAD> <SCRIPT language=Javascript> function isNumberKey(evt) { if(document.getElementById('txtChar').value.length > 7) return false; var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57)) return false; return true; } </SCRIPT> </HEAD> <BODY> <INPUT id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar"> </BODY> </HTML>
17. marts 2008 - 22:18
#2
til nr. 2 <HTML> <HEAD> <SCRIPT language=Javascript> function isValid(event) { var element = document.getElementById('txtChar'); if (element.value.length > 24) { return false; } if(event.keyCode == 45 || event.keyCode == 44 || event.keyCode == 8364 || event.keyCode == 36 || event.keyCode == 46 || event.keyCode == 39 || event.keyCode == 96 || event.keyCode == 42 || event.keyCode == 60 || event.keyCode == 62 || event.keyCode == 92 || event.keyCode == 59 || event.keyCode == 58 || event.keyCode == 45 || event.keyCode == 95 || event.keyCode == 168 || event.keyCode == 124 || event.keyCode == 64 || event.keyCode == 35 || event.keyCode == 163 || event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 47 || event.keyCode == 123 || event.keyCode == 40 || event.keyCode == 91 || event.keyCode == 93 || event.keyCode == 41 || event.keyCode == 61 || event.keyCode == 125 || event.keyCode == 63 || event.keyCode == 43 || event.keyCode == 94 || event.keyCode == 33 || event.keyCode == 34 || event.keyCode == 164 || event.keyCode == 126) return false; return true; } </SCRIPT> </HEAD> <BODY> <INPUT id="txtChar" onkeypress="return isValid(event);" type="text" name="txtChar"> </BODY> </HTML> og ja det kan gøres nemmere med regexp.. men oh well. du skal bare copy paste.
18. marts 2008 - 14:27
#3
Tjah, jeg ville da lave et helt traditionelt valideringsscript: <script type="text/javascript"> function valider(f){ if(f.navn.value==""){ alert("Husk dit navn"); f.navn.focus(); return false; } if(!f.tlf.value.match(/^\d{8}$/)){ alert("Husk dit telefonnummer - 8 cifre"); f.tlf.focus(); return false; } if(!f.adr.value.match(/^[a-zæøå\d ]{5,25}$/)){ alert("Husk dit adresse - max 25 bogstaver og tal"); f.adr.focus(); return false; } if(!f.postby.value.match(/^\d{3,4} \w+$/)){//Godkender også færøske postnumre med 3 cifre alert("Husk dit postnr. og by - 4 cifre og bynavn"); f.postby.focus(); return false; } return true; } </script> <form action="dinTilmelding.html" method="post" onsubmit="return valider(this);"> Navn: <input name="navn"><br> Tlf.: <input name="tlf"><br> Adresse: <input name="adr"></br> Postnr. og -by: <input name="postby"><br> <input type="submit" value="Send tilmelding"> </form>
24. marts 2008 - 09:26
#4
roenving: lige det jeg søger, men når jeg ligger det på min side og klikker submit siger den godt nok fejlen men går videre til "dintilmeding.html" alligevel..
24. marts 2008 - 09:29
#5
ahh ik noget, havde glemt at rette noget kode. kan man få den til kun at tjekke om der 12 cifre og ét "-" der i ? f.eks. 0045-xxxxxxxx istedet for 0045/xxxxxxxx
24. marts 2008 - 09:51
#6
if(!f.adr.value.match(/^[a-zæøå\d ]{5,25}$/)){ alert("Husk dit adresse - max 25 bogstaver og tal"); f.adr.focus(); return false; } hvordan får man til at der godt må være store og små bokstaver?
24. marts 2008 - 09:53
#7
if(!f.tlf.value.match(/^\d{8}$/)){ alert("Husk dit telefonnummer - 8 cifre"); f.tlf.focus(); return false; } hvordan får man den til at tjek at det ok OP TIL 8 cifre?
24. marts 2008 - 23:03
#8
<ole> if(!f.tlf.value.match(/^\d{0, 8}$/)){ alert("Husk dit telefonnummer - 8 cifre"); f.tlf.focus(); return false; } - men så vil en tom streng jo også opfylde betingelsen, hvilket sikkert ikke dur. Du må nok elaborere lidt på: "... at det ok OP TIL 8 cifre" ;o) /mvh </bole>
25. marts 2008 - 09:43
#9
betyder 0 at det ok mellem 0 og 8 ?
25. marts 2008 - 09:43
#10
hvordan får man det til at være ok med både små og store bokstaver?
26. marts 2008 - 17:14
#11
Jepz !o] \d{0,8} // 0-8 cifre \d{8} // præcis 8 cifre \d{8,} // mindst 8 cifre -- at acceptere både store og små bogstaver gøre med i-moderatoren (case-Insensitive !-) if(!f.adr.value.match(/^[a-zæøå\d ]{5,25}$/i)){
Vi tilbyder markedets bedste kurser inden for webudvikling