|
Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.
Klikk her for å gå til den oppdaterte informasjonen.
Kontroller personnummer
Ved hjelp av den egendefinerte funksjonen nedenfor kan man kontrollere om et personnummer
er riktig eller ikke.
Function ValiderPersonNr(ByVal strPersonNr As String) As Boolean
Dim s(1 To 11) As Integer, i As Integer
Dim y As Integer, m As Integer, d As Integer
Dim lngDate As Long, K1 As Integer, K2 As Integer
ValiderPersonNr = False
Do While Len(strPersonNr) < 11
strPersonNr = "0" & strPersonNr
Loop
If Len(strPersonNr) <> 11 Then Exit Function
d = CInt(Mid$(strPersonNr, 1, 2))
m = CInt(Mid$(strPersonNr, 3, 2))
y = CInt(Mid$(strPersonNr, 5, 2))
If d < 1 Or d > 31 Then Exit Function
If m < 1 Or m > 12 Then Exit Function
If y < 0 Or y > 99 Then Exit Function
If y <= 30 Then
y = 2000 + y
Else
y = 1900 + y
End If
lngDate = DateSerial(y, m, d)
For i = 1 To 11
s(i) = CInt(Mid(strPersonNr, i, 1))
Next i
K1 = s(1) * 3 + s(2) * 7 + s(3) * 6 + _
s(4) * 1 + s(5) * 8 + s(6) * 9 + _
s(7) * 4 + s(8) * 5 + s(9) * 2
K1 = K1 Mod 11
If K1 = 1 Then Exit Function
If K1 <> 0 Then K1 = 11 - K1
K2 = s(1) * 5 + s(2) * 4 + s(3) * 3 + _
s(4) * 2 + s(5) * 7 + s(6) * 6 + _
s(7) * 5 + s(8) * 4 + s(9) * 3 + K1 * 2
K2 = K2 Mod 11
If K2 = 1 Then Exit Function
If K2 <> 0 Then K2 = 11 - K2
If s(10) <> K1 Then Exit Function
If s(11) <> K2 Then Exit Function
ValiderPersonNr = True
End Function
Dokumentet er sist oppdatert 2002-05-14 12:42:50
Utskriftsvennlig versjon
|
|