Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Class VehicleFunctions
- Public Shared Function GetSidecodeLicenseplate(ByVal Licenseplate As String) As String
- Dim arrSC(13) As String
- Dim scUitz As String = String.Empty
- Licenseplate = Licenseplate.Replace("-", "").ToUpper
- arrSC(0) = "^[a-zA-Z]{2}[d]{2}[d]{2}$" ' 1 XX-99-99
- arrSC(1) = "^[d]{2}[d]{2}[a-zA-Z]{2}$" ' 2 99-99-XX
- arrSC(2) = "^[d]{2}[a-zA-Z]{2}[d]{2}$" ' 3 99-XX-99
- arrSC(3) = "^[a-zA-Z]{2}[d]{2}[a-zA-Z]{2}$" ' 4 XX-99-XX
- arrSC(4) = "^[a-zA-Z]{2}[a-zA-Z]{2}[d]{2}$" ' 5 XX-XX-99
- arrSC(5) = "^[d]{2}[a-zA-Z]{2}[a-zA-Z]{2}$" ' 6 99-XX-XX
- arrSC(6) = "^[d]{2}[a-zA-Z]{3}[d]{1}$" ' 7 99-XXX-9
- arrSC(7) = "^[d]{1}[a-zA-Z]{3}[d]{2}$" ' 8 9-XXX-99
- arrSC(8) = "^[a-zA-Z]{2}[d]{3}[a-zA-Z]{1}$" ' 9 XX-999-X
- arrSC(9) = "^[a-zA-Z]{1}[d]{3}[a-zA-Z]{2}$" ' 10 X-999-XX
- arrSC(10) = "^[a-zA-Z]{3}[d]{2}[a-zA-Z]{1}$" ' 11 XXX-99-X
- arrSC(11) = "^[a-zA-Z]{1}[d]{2}[a-zA-Z]{3}$" ' 12 X-99-XXX
- arrSC(12) = "^[d]{1}[a-zA-Z]{2}[d]{3}$" ' 13 9-XX-999
- arrSC(13) = "^[d]{3}[a-zA-Z]{2}[d]{1}$" ' 14 999-XX-9
- 'except licenseplates for diplomats
- scUitz = "^CD[ABFJNST][0-9]{1,3}$" 'for example: CDB1 of CDJ45
- For i As Integer = 0 To 13
- If System.Text.RegularExpressions.Regex.IsMatch(Licenseplate, arrSC(i)) Then
- Return (i + 1).ToString
- End If
- Next
- If System.Text.RegularExpressions.Regex.IsMatch(Licenseplate, scUitz) Then
- Return "CD"
- End If
- Return String.Empty
- End Function
- Public Shared Function FormatLicenseplate(ByVal Licenseplate As String, ByVal Sidecode As String) As String
- Licenseplate = Licenseplate.Replace("-", "").ToUpper
- Select Case Sidecode
- Case "1", "2", "3", "4", "5", "6"
- Return Licenseplate.Substring(0, 2) & "-" & Licenseplate.Substring(2, 2) & "-" & Licenseplate.Substring(4, 2)
- Case "7", "9"
- Return Licenseplate.Substring(0, 2) & "-" & Licenseplate.Substring(2, 3) & "-" & Licenseplate.Substring(5, 1)
- Case "8", "10"
- Return Licenseplate.Substring(0, 1) & "-" & Licenseplate.Substring(1, 3) & "-" & Licenseplate.Substring(4, 2)
- Case "11", "14"
- Return Licenseplate.Substring(0, 3) & "-" & Licenseplate.Substring(3, 2) & "-" & Licenseplate.Substring(5, 1)
- Case "12", "13"
- Return Licenseplate.Substring(0, 1) & "-" & Licenseplate.Substring(1, 2) & "-" & Licenseplate.Substring(3, 3)
- Case Else
- 'No formatting with sidecode 'CD'
- Return Licenseplate
- End Select
- End Function
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement