Avatar billede cypherdenmark Nybegynder
20. januar 2005 - 11:48 Der er 17 kommentarer og
1 løsning

Regular Expressions og validering af postcode

Hej Alle,

Jeg har denne validering men kan ikke finde ud af samme sætte det. Strengen må indeholde:

1234AA eller 1234 AA (store/små bogstaver er underordnet)

Indtil videre ser min kode sådan ud.

    var strPostcode = f.Postcode.value;
    if(strPostcode != ""){
        nlPost = /^[0-9]*$/;
        if (!nlPost.test(strPostcode)){
            strErrorMsg+='      * Postcode \n';
        }
    }       

Håber i kan hjælpe.

Desuden ville det være super hvis i kender en god beskrivelse af Reg. ex så jeg kan lære det 100% selv :-)

På forhånd tak.
Avatar billede roenving Novice
20. januar 2005 - 12:12 #1
Prøv med:

        nlPost = /^\d{4} ?\w{2}$/;

-- jeg har ikke lige mine links her, men den anden dag var der et spørgsmål i Reg.Exp.-kategorien, hvor der lige kom nogle links: http://www.eksperten.dk/spm/579424
Avatar billede yellow Nybegynder
20. januar 2005 - 12:21 #2
if( !/^\s*$/.test(strPostcode) && /^\d{4}\s?[a-z]{2}$/i.test(strPostcode) ){
  //error
}

Hvis den ikke er tom OG den ikke matcher på den gyldige streng.
"ikke tom" er sat til !/^\s*$/.test(strPostcode) på denne måde regnes en streng fyldt med tabs/spaces etc. også for "tom".
Næste del:
/^ = skal starte med
\d{4} = 4 digits (0-9)
\s? = (mellemrum + ?) = 0 eller 1 whitespace char
[a-z]{2} = 2 chars (a-z)
$ = skal slutte med
/i = ignore case

>>roenving \w tillader også underscore
Avatar billede yellow Nybegynder
20. januar 2005 - 12:23 #3
uh, manglede negeringen ! før andet udtryk i if-sætningen.
Avatar billede cypherdenmark Nybegynder
20. januar 2005 - 12:52 #4
hmmm jeg syntes ikke rigtigt at det funker, jeg får heller ikke nogen fejlmeddelse.....
Avatar billede roenving Novice
20. januar 2005 - 12:59 #5
>>yellow

Jeps, samt tal ...

-- men jeg syntes lige at spørger skulle kommentere, og din whitespace tillader jo også tabulatorer m.v.
Avatar billede cypherdenmark Nybegynder
20. januar 2005 - 13:29 #6
hmm roenving, din løsning ser med overskuelig ud, hvad mangler før den virker ?
Avatar billede roenving Novice
20. januar 2005 - 13:32 #7
Hvis du kun vil tillade bogstaver, kan du f.eks.

nlPost = /^\d{4} ?[a-zæøå]{2}$/i;
Avatar billede roenving Novice
20. januar 2005 - 13:32 #8
æøå kan du jo slette, hvis du ikke vil tillade dem !-)
Avatar billede cypherdenmark Nybegynder
20. januar 2005 - 13:49 #9
nlPost = /^\d{4} ?\w{2}$/;

den må ikke tage tal tilsidst det skal være bogstaver altså:

1234AA eller 1234 AA
Avatar billede roenving Novice
20. januar 2005 - 13:52 #10
Har du prøvet den sidste ?-)
Avatar billede cypherdenmark Nybegynder
20. januar 2005 - 13:55 #11
Heheh nej - sorry :-)

Ligger du lige et svar.......
Avatar billede roenving Novice
20. januar 2005 - 13:59 #12
Velbekomme '-)
Avatar billede cypherdenmark Nybegynder
20. januar 2005 - 14:01 #13
Here we go...tak for hjælpen......
Avatar billede roenving Novice
20. januar 2005 - 14:08 #14
Tak for point ;~}
Avatar billede olebole Juniormester
20. januar 2005 - 19:26 #15
<ole>

Hvem skal kunne bruge dine sider?
Skal danskere fra Færøerne og Grønland også kunne bruge dine sider? De bruger kun tre ciffre i postnummeret.
Skal svenskere i Øresundsregionen også have mulighed for at bruge dine sider? De har også andre postnumre.

/mvh
</bole>
Avatar billede cypherdenmark Nybegynder
24. januar 2005 - 12:01 #16
Nej det er kun hollændere :-)

Men jeg støder på en lille fejl, det siger ikke fejl hvis feltet er tomt....hvordan løser jeg lige den, jeg bruger denne kode

var strPostcode = f.Postcode.value;
    if(strPostcode != ""){
        nlPost = /^\d{4} ?[a-zæøå]{2}$/i;
        if (!nlPost.test(strPostcode)){
            strErrorMsg+='      * Postcode \n';           
        }
    }

Håber i kan hjælpe selvom spg er lukket..(det er jo garnteret en lille ting)
Avatar billede yellow Nybegynder
24. januar 2005 - 13:15 #17
fjern det yderse if-led...
Avatar billede cypherdenmark Nybegynder
24. januar 2005 - 13:32 #18
Nååå ja....takker :-)
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