Avatar billede newbie.dk Praktikant
27. marts 2005 - 20:59 Der er 8 kommentarer og
1 løsning

Ændring af validering

Jeg har en validering på en formular. Men der er nogle ændringer jeg gerne vil have hjælp til.
Fornavn må gerne nu indeholde bindestreng og mellemrum(f.eks til Hans-Peter eller Anne Marie)
Husnummer må gerne indeholde bogstaver, komma og punktum(f.eks til 29b eller 45 c, 2.sal th.

Men stadig ingen specieltegn.

Kan I hjælpe.?


Koden ser ala således ud:


var filter = /^([a-zæøå]){1,}$/i;
if (theform.fornavn.value == '') {
  tekst += 'Fornavn skal udfyldes\n';
  ok_data = false;
} else { 
  if (filter.test(theform.fornavn.value) == false) {
    tekst += 'Fornavn må kun indeholder bogstaver\n';
    ok_data = false;
  }
}

var filter = /^\d+(1,3})?$/;
if (theform.nummer.value == '') {
  tekst += 'Husnummer skal udfyldes\n';
  ok_data = false;
} else {
  if (filter.test(theform.nummer.value) == false) {
    tekst += 'Husnummer må kun indeholde tal\n';
    ok_data = false;
  }
}
Avatar billede roenving Novice
27. marts 2005 - 21:05 #1
var filter = /^[a-zæøå -]+$/i;

var filter = /^\d+( ?\w, ?[\w,\. ]*)?$/;
Avatar billede newbie.dk Praktikant
27. marts 2005 - 23:28 #2
Den første virker fint.
Men den til husnummer virker ikke.
Avatar billede roenving Novice
27. marts 2005 - 23:37 #3
Hvilke muligheder vil du tillade, for den siger:

Det skal starte med et nummer, bestående af mindst et ciffer,

derefter _må_ der godt komme mere, som så skal

evt. starte med et mellemrum, have et ord-tegn efterfulgt af et komma (hrm, måske der, den kløjs !-)

evt. efterfulgt af et mellemrum og en-eller-anden kombination af ord-tegn, komma, punktum og mellemrum med nul eller flere tegn ...

-- sæt et spørgsmålstegn ekstra ind, så den også accepterer 29b:

var filter = /^\d+( ?\w,? ?[\w,\. ]*)?$/;
Avatar billede newbie.dk Praktikant
27. marts 2005 - 23:50 #4
Det ser fint ud. Der er lige en lille ting.

Komma/punktum kan først bruges på 3. plads, som her: 42, 2.sal th
Men skal vel være som nummer 2, altså: 4, 2.sal th

Kan det laves?
Avatar billede roenving Novice
27. marts 2005 - 23:57 #5
Et spørgsmålstegn mere så:

var filter = /^\d+( ?\w?,? ?[\w,\. ]*)?$/;

-- jeg havde overset, at bogstaver jo ikke nødvendigvis hørte sammen med, at der overhovedet kom andet end bare nummeret med ...

-- det skal tilføjes, at \w dækker a-z, 0-9 og _ plus i nogle browsere de tegn, som naturligt hører med til localet, altså i Danmark æøå og f.eks. ü !-)
Avatar billede roenving Novice
27. marts 2005 - 23:59 #6
-- og man kan også specificere mere, men så bliver det måske mere forkert end rigtigt, f.eks. bor jeg selv på 1. men hende der bor på første sal bor ovenpå mig på 2. !-)
Avatar billede newbie.dk Praktikant
28. marts 2005 - 00:35 #7
Perfekt, det virker.
Ja der skal nok ikke laves mere på den.
Ligger du et svar

Den person der så bor i stuen, er det så kælderen?
Avatar billede roenving Novice
28. marts 2005 - 00:39 #8
Næh, det findes slet ikke, men stuen, som jeg bor i, hedder bare 1. (etage !-)

-- velbekomme '-)
Avatar billede roenving Novice
28. marts 2005 - 00:48 #9
-- og tak for point ;~}
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