Avatar billede palle1976 Nybegynder
05. oktober 2005 - 15:47 Der er 8 kommentarer og
1 løsning

Validering af input fra brugeren

Jeg har noget kode som validerer et input fra brugeren. Mit kode tjekker at brugeren kun indtaster tal, komma eller punktum. Koden ser ud som følgende:

if(!frm.field.value.match(/^\d+([.,]\d+)?$/)){
  alert("Amount not in correct format");
  frm.field.focus();
return false;
}

Men hvordan tilføjer jeg at feltet også godt må være blankt ?

Er der noget der kender et link til hvor jeg kan læse om opbygningen af validerings-kriteriet ? Jeg forstår ikke helt opbygningen af det...
Avatar billede jonashn Nybegynder
05. oktober 2005 - 20:41 #1
feks:
if(!frm.field.value.match(/^\d+([.,]\d+)?$/)||frm.field.value=""){
  alert("Amount not in correct format");
  frm.field.focus();
return false;
}

du kan læse om RegExp her:
http://www.regular-expressions.info/javascript.html
http://www.devshed.com/c/a/JavaScript/Understanding-the-JavaScript-RegExp-Object/
http://www.webreference.com/js/column5/

Du kan også bare google det:
http://www.google.dk/search?hl=da&q=javascript+%22regular+expressions%22++introduction+&meta=
Avatar billede roenving Novice
05. oktober 2005 - 23:25 #2
Eller:

if(!frm.field.value.match(/^\d+([.,]\d+)?$||^$/)){
Avatar billede jonashn Nybegynder
06. oktober 2005 - 07:42 #3
Tænkte jeg nok...
Men når man nu ikke er så stiv i regExp :-)
Avatar billede palle1976 Nybegynder
06. oktober 2005 - 08:14 #4
Mange tak, hvis jonashn smider et svar ligger der points og venter ;o)
Avatar billede jonashn Nybegynder
06. oktober 2005 - 18:05 #5
Sågerne :)
Avatar billede palle1976 Nybegynder
07. oktober 2005 - 10:22 #6
Jeg er nød til at tage denne sag op igen. Jeg testede ikke inden jeg delte points ud, men det viser sig at der er lidt problemer.

Hvis jeg bruger jonashn løsning får jeg følgende fejl når scriptet gemmes:
Invalid assignment left-hand side

Hvis jeg bruger roenving løsning valideres der slet ikke på om input indeholder bogstaver...
Avatar billede roenving Novice
07. oktober 2005 - 13:38 #7
I en sammenligning skal du bruge sammenligningsoperatoren == eller === (den sidste betyder absolut lig med, sådan at der f.eks. skelnes mellem f.eks. "0" og 0 !-)
Avatar billede roenving Novice
07. oktober 2005 - 13:47 #8
-- og uff ...

-- jeg havde lavet den tavetosse, at der var en bar for meget ,-(

if(!frm.field.value.match(/^\d+([.,]\d+)?$|^$/)){
Avatar billede palle1976 Nybegynder
07. oktober 2005 - 14:15 #9
Ok tak, nu virker det !!
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