hvis du alligevel vel bruge det så er her noget kode (og hvis det ser lidt spørjst ud så er det Java kode håndoversat til C# som er maskin oversat til VB.NET !):
Imports System
Namespace E Public Class CPR Private number As String Public Sub New(ByVal number As String) Me.number = number End Sub Public Function IsValid() As Boolean Dim ix As Integer() = {0, 1, 2, 3, 4, 5, 7, 8, 9, 10} Dim c As Integer() = {4, 3, 2, 7, 6, 5, 4, 3, 2, 1} If Not (number.Length = 11) Then Return False End If If Not (number.ToCharArray()(6) = "-"C) Then Return False End If Dim i As Integer For i = 0 To 9 If Not Char.IsDigit(number.ToCharArray()(ix(i))) Then Return False End If Next If dd > 31 Then Return False End If If mm > 12 Then Return False End If If century = 0 Then Return False End If Dim temp As Integer = 0 For i = 0 To 9 temp = temp + c(i) * Integer.Parse(number.Substring(ix(i), 1)) Next Return ((temp Mod 11) = 0) End Function Public Function IsMale() As Boolean Return Integer.Parse(number.Substring(10, 1)) Mod 2 = 1 End Function Public Function IsFemale() As Boolean Return Integer.Parse(number.Substring(10, 1)) Mod 2 = 0 End Function Private Function dd() As Integer Return Integer.Parse(number.Substring(0, 2)) End Function Private Function mm() As Integer Return Integer.Parse(number.Substring(2, 2)) End Function Private Function yy() As Integer Return Integer.Parse(number.Substring(4, 2)) End Function Private Function century() As Integer Select number.ToCharArray()(7) Case "0"C, "1"C, "2"C, "3"C Return 1900 Case "4"C, "9"C If yy < 37 Then Return 2000 Else Return 1900 End If Case "5"C, "6"C, "7"C, "8"C If yy < 37 Then Return 2000 Else If yy > 57 Then Return 1800 Else Return 0 End If End If Case Else Return 0 End Select End Function End Class Public Class TestClass Private Shared Sub Test(ByVal s As String) Dim nr As CPR = New CPR(s) Console.WriteLine(s & " valid: " & nr.IsValid) End Sub Public Shared Sub Main(ByVal args As String()) Test("123456-1234") Test("111111-1118") End Sub End Class End Namespace
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.