Avatar billede minijensen1 Nybegynder
21. juni 2005 - 22:09 Der er 3 kommentarer og
1 løsning

match enten gyldigt indhold, eller intet indhold

Hej.

Jeg skal lave en validering på et tekstfelt. Det er valgfrit om feltet skal udfyldes, men hvis det udfyldes skal indholdet være gyldigt.

F.eks. ved et CPR felt har jeg denne simple validering
\d{6}\-\d{4}

Den tjekker fint om der er 6 tal, efterfulgt af en streg, og derefter 4 tal.
Men jeg vil også gerne have muligheden for at den matcher hvis feltet er tomt, dvs noget i stil med
(<et udtryk for tomt her>|\d{6}\-\d{4})

Synes snart at jeg har prøvet hvad som helst, men kan ikke få noget som helst til at virke på en tom streng.

Nogen som kan hjælpe mig?
Avatar billede nielle Nybegynder
21. juni 2005 - 22:26 #1
^(\d{6}\-\d{4})?$
Avatar billede minijensen1 Nybegynder
21. juni 2005 - 23:00 #2
Her netop siddet og læst lidt mere på det, og har fundet frem til at jeg ledte efter "$^" - da det vel må være det samme som ingenting (start på linie, efterfulgt af slut på linie)

Men hvad er så forskellen i at bruge
(^$|\d{6}\-\d{4})
og i at bruge
^(\d{6}\-\d{4})?$
Foruden at jeg kan se at min mangler en ^ og $ ved cpr tjek

Nielle
Læg et svar, så du kan få nogle point
Avatar billede nielle Nybegynder
21. juni 2005 - 23:08 #3
Hvis du ikke har et anchor  i begge ender, vil din RegExp også matche sådan noget som:

sgdgds123456-6347jhdhhc

Det lille spørgsmålstegn i slutningen af parentesen betyder "optional". Enten kan det inde i parentesen undlades (svarende til at matche på ^$), eller også skal der matches på det (svarende til at matche på ^\d{6}\-\d{4}$).
Avatar billede nielle Nybegynder
21. juni 2005 - 23:08 #4
... og et svar :^)
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
Kurser inden for grundlæggende programmering

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