01. december 2004 - 13:55
Der er
9 kommentarer og 1 løsning
obBlur regex validering
Jeg har fundet følgende script (her på eksperten..) til validering af textfelt om indholdet er numerisk: onblur="if(!this.value.match(/^[0-9\+ ]+$/)&&this.value!='')alert('Du kan kun indtaste tal (1-9)');this.focus();" Det virker næsten i FireFox, men ie crasher totalt. Går ind i et loop og så ellers farvel... er der nogen der kan løse problemet. (der må indtastes 0-9, - og blank ( dec sep skal være .)) Kender ikke noget til regex, men ovenstående accepterer ikke . og -, så det skal tilføjet...
Annonceindlæg fra Infor
01. december 2004 - 13:56
#1
...ja og så hedder det onBlur...
01. december 2004 - 14:01
#2
Måske: onblur="if(!this.value.match(/^[ \+-]?\d+(\.\d+)?$/))alert('Du kan kun indtaste tal (0-9)');return false;" ?-)
01. december 2004 - 14:03
#3
onblur="if(!this.value.match(/^[0-9\-\. ]+$/)&&this.value!=''){alert('Du kan kun indtaste tal (1-9)');this.focus();}"
01. december 2004 - 14:24
#4
Det var jo næsten for nemt for jer.... ;-) Lige en lille krølle... kan man i tjekket sikre at hvis input indeholder et . så skal der mindst stå 1 tal før og 1 tal efter...?? så man ikke for følgende værdier .12 eller 12.
01. december 2004 - 14:27
#5
Det gør min udgave faktisk allerede !-) Regexp læses: Fra starten (^) af værdien kan der være et mellemrum, et plus eller et minus, derefter skal der være mindst et ciffer, eventuelt efterfulgt af et punktum med mindst et ciffer efter indtil slutningen af værdien ($) ...
01. december 2004 - 14:33
#6
ja det gør den da også..... roenvig det ser ud til at dit er det jeg er ude efter, kan du i samme åndedrag opfylde endnu et ønske..:; sæt focus på feltet hvor indtastningen foregik!!
01. december 2004 - 14:38
#7
Hrm, jeg huskede forkert med focus()-tingen, så det er bare return false; som skal laves om til den oprindelige this.focus();
01. december 2004 - 14:57
#8
ok vi er vist kommet der til hvor vi snart skal have nogle svar for point, jeg endte op med følgende: onblur="if(!this.value.match(/^[ \+-]?\d+(\.\d+)?$/)){alert('Du kan kun indtaste tal (1-9)');this.focus();}" kun et lille spørgsmål, når jeg trykker enter og har indtastet en ugyldigt værdi bliver formen submittet alligevel... nogen forklaring/løsning??
01. december 2004 - 15:02
#9
Sæt en onsubmit på form-tagget: <form ... onsubmit="return (!this.FELTNAVN.value.match(/^[ \+-]?\d+(\.\d+)?$/))?false:true;"> -- og velbekomme '-)
01. december 2004 - 15:12
#10
Tak for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling