Avatar billede thulstrup Nybegynder
21. september 2001 - 15:06 Der er 3 kommentarer og
1 løsning

Validering af formfelter

Lidt spørgsmål om valididering af formfelter. Se koden på:
http://www.overdose.dk/test/validate.html

1. Hvordan undgår jeg at man kan bruge tal i fornavn og efternavn felterne?

2. Hvordan undgår jeg at man kan bruge bogstaver i telefon og fax felterne? Dog skal \"+\" og \"blank\" være tilladte.

3. Det er kun felterne med stjerner der skal udfyldes, de andre er valgfri. De skal altså kun valideres hvis der står noget i dem. Hvordan gør man det?

På forhånd tak!
Avatar billede olebole Juniormester
21. september 2001 - 15:10 #1
<ole>
Hvorfor må Ot2 og 10ne ikke kunne skrive deres navne?  =oD
/mvh
</bole>
Avatar billede jakoba Nybegynder
21. september 2001 - 23:47 #2
    // FUNKTIONEN DER CHECKER SELVE FORMEN...
function validateForm(n) {

          // navne
var navnRE = /^[a-z ]{2,}$/i;  // mindst 2 bogstaver + evt blanktegn \"van Hauen\"
          // telefonnumre
var telefonRE = /^[+ \\d]{8,}$/;  // mindst 8 cifre, blanktegn og +\'er
          // email addr
var emailRE = /^\\w[\\w\\.\\-]*@\\w[\\w\\.\\-]*\\.\\w{2,4}$/; // nogenlunde lovlig

//HER CHECKES FORNAVN FELT
if ( ! navnRE.test( n.fornavn.value ) ) {
      //HVIS BOGSTAV FELT IKKE INDEHOLDER ET BOGSTAV ELLER FELTET ER MINDRE END 2
  alert(\'Feltet med fornavn skal indeholde mindst 2 bogstaver.\'); //MELDEL FEJLTEKST
  n.fornavn.select();n.fornavn.focus(); //MARKER BOGSTAV FELT OG SET DET I FOCUS
  return false; //AFSEND IKKE FORM
}

//HER CHECKES EFTERNAVN FELT
if ( ! navnRE.test( n.efternavn.value ) ) {
      //HVIS BOGSTAV FELT IKKE INDEHOLDER ET BOGSTAV ELLER FELTET ER MINDRE END 2
  alert(\'Feltet med efternavn skal indeholde mindst 2 bogstaver.\'); //MELDEL FEJLTEKST
  n.efternavn.select();n.efternavn.focus(); //MARKER BOGSTAV FELT OG SET DET I FOCUS
  return false; //AFSEND IKKE FORM
}

//HER CHECKES EMAIL FELT
if ( if n.email.value.length>0 && ! emailRE.test( n.email.value ) ) {
      //HVIS EMAIL IKKE ER GYLDIG
  alert(\'Emailfeltet skal indeholde en gyldig email.\'); //MELDEL FEJLTEKST
  n.email.select();n.email.focus(); //MARKER EMAIL FELT OG SET DET I FOCUS
  return false; //AFSEND IKKE FORM
}

//HER CHECKES TAL FELT
if ( !telefonRE.test( n.telefon.value ) ) {
      //HVIS TAL FELT IKKE INDEHOLDER ET TAL ELLER FELTET ER MINDRE END 8
  alert(\'Feltet med telefonnummer skal indeholde mindst 8 tal.\'); //MELDEL FEJLTEKST
  n.telefon.select();n.telefon.focus(); //MARKER TAL FELT OG SET DET I FOCUS
  return false; //AFSEND IKKE FORM
}

//HER CHECKES fax FELT
if ( n.fax.value.length>0 && !telefonRE.test( n.fax.value ) ) {
      //HVIS TAL FELT IKKE INDEHOLDER ET TAL ELLER FELTET ER MINDRE END 8
  alert(\'Feltet med telefonnummer skal indeholde mindst 8 tal.\'); //MELDEL FEJLTEKST
  n.telefon.select();n.telefon.focus(); //MARKER TAL FELT OG SET DET I FOCUS
  return false; //AFSEND IKKE FORM
}

//HER CHECKES BRANCHE FELT
if ( !navnRE.test( n.branche.value ) ) {
      //HVIS BOGSTAV FELT IKKE INDEHOLDER ET BOGSTAV ELLER FELTET ER MINDRE END 2
  alert(\'Feltet med branche skal indeholde mindst 2 bogstaver.\'); //MELDEL FEJLTEKST
  n.branche.select();n.branche.focus(); //MARKER BOGSTAV FELT OG SET DET I FOCUS
  return false; //AFSEND IKKE FORM
}
}
Avatar billede jakoba Nybegynder
21. september 2001 - 23:49 #3
Ups. u fax-checken glemte jeg at rette feltnavn til fax i then delen.
Avatar billede thulstrup Nybegynder
22. september 2001 - 15:19 #4
Takker mange gange for svaret :)

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