Avatar billede skildpadden Nybegynder
14. juni 2006 - 19:41 Der er 5 kommentarer og
1 løsning

Validering af cpr-nummer

Er der nogen der kender et script til validering af cpr-numre?
Avatar billede eagleeye Praktikant
14. juni 2006 - 19:45 #1
Et eks:



Function CPROK(Streng)
  Dim Nummer, Sum
  Nummer = Trim(Replace(Streng, "-", ""))
  If Len(Nummer) <> 10 Or Not IsNumeric(CStr(Nummer)) Then Exit Function
  Check = Array(4, 3, 2, 7, 6, 5, 4, 3, 2, 1)
  Sum = 0
  For i = 0 To 9
      Sum = Sum + CInt(Mid(Nummer, i, 1)) * Check(i)
  Next
  If Sum Mod 11 = 0 Then CPROK = True
End Function

If CPROK("250342-1247") Then
' Gyldigt
Else
' Ugyldigt
End If
Avatar billede skildpadden Nybegynder
14. juni 2006 - 19:48 #2
Jeg prøver det lige...
Avatar billede skildpadden Nybegynder
14. juni 2006 - 20:06 #3
Jeg får denne fejl:

Invalid procedure call or argument: 'Mid'
Avatar billede eagleeye Praktikant
14. juni 2006 - 20:19 #4
arh prøv lige at rette:


      Sum = Sum + CInt(Mid(Nummer, i, 1)) * Check(i)


Til dette da en streng starter fra 1 men et array fra 0 :):

      Sum = Sum + CInt(Mid(Nummer, i+1, 1)) * Check(i)
Avatar billede skildpadden Nybegynder
14. juni 2006 - 20:28 #5
Super!

Tak for hjælpen...
Avatar billede nielle Nybegynder
14. juni 2006 - 20:37 #6
Du bør være opmærksom på at modulus-11 tjekket forsvinder inden alt for mange år:

http://www.cpr.dk/Index/dokumenter.asp?o=2&n=0&h=2&d=647&s=4
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