Avatar billede jesperdk2012 Nybegynder
16. november 2012 - 10:37 Der er 7 kommentarer

Check om en string kun indeholder tal og en - (dash)

Hej,

Jeg har et cpr nummer som indeholder tal og en - (dash).
F.eks. 20121611-1234 (YYYYMMDD-ZZZZ).

Jeg har behov for at validere om cpr nummer kun indeholder tal og en -. Hvordan gøres det vha. a regex?

/Jesper
Avatar billede johny Nybegynder
16. november 2012 - 10:52 #1
Du har vel brug for mere end det? At den indeholder præcis 8 tal, efterfulgt af - og så igen 4 tal? Du har for i øvrigt fået byttet om på dato rækkefølgen, det er DDMMYYYY hvis du vil validere et dansk social security number. Næste udfordring er så om det er en lovlig dato, samt om ZZZZ er valid hvis det er fra den gang der var system i den slags, og så er RegEx ikke længere en god løsning. Skal du bare have et minimum af validering er her et bud:

^\d{8}-\d4$
Avatar billede tjp Mester
16. november 2012 - 10:52 #2
Så skulle det gerne matche:
^\d{8}-\d{4}$
Avatar billede tjp Mester
16. november 2012 - 10:53 #3
Hov, altid en god idé at opdatere før man svarer, hehe..
Avatar billede johny Nybegynder
16. november 2012 - 10:56 #4
Altid noget vi er enige. ;)
Avatar billede jesperdk2012 Nybegynder
16. november 2012 - 11:57 #5
Hej Johnny,

Hehe godt i er enige :-)

Der er bare behov for minimum af validering, så svaret er fint. Men hvordan skrives det med JavaScript?. Når jeg f.eks. bruger det her check:

^\d{8}-\d4$.test("20121116-1234");

Får jeg følgende fejl: SyntaxError on line 1: syntax error

Hvad kan fejlen skyldes?

/Jesper
Avatar billede olsensweb.dk Ekspert
19. november 2012 - 12:32 #6
>Får jeg følgende fejl: SyntaxError on line 1: syntax error
>Hvad kan fejlen skyldes?

kunne have noget at gøre med at backslash (\) er en escape karakter i JS, så den skal escapes
http://stackoverflow.com/questions/5663987/how-to-properly-escape-characters-in-regexp se det svar med flueben

prøv at google js regex escape characters eller js regex numbers only



http://stackoverflow.com/questions/9011524/javascript-regexp-number-only-check
Avatar billede jesperdk2012 Nybegynder
16. januar 2013 - 16:02 #7
@Johnny - kan se jeg aldrig fik lukket den her tråd, men tusind tak for svaret. Hvordan får jeg den lukket og tildeler dig 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
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