Advertisement
Guest User

Untitled

a guest
May 25th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. Public Class VehicleFunctions
  2.  
  3. Public Shared Function GetSidecodeLicenseplate(ByVal Licenseplate As String) As String
  4.  
  5. Dim arrSC(13) As String
  6. Dim scUitz As String = String.Empty
  7.  
  8. Licenseplate = Licenseplate.Replace("-", "").ToUpper
  9.  
  10. arrSC(0) = "^[a-zA-Z]{2}[d]{2}[d]{2}$" ' 1 XX-99-99
  11. arrSC(1) = "^[d]{2}[d]{2}[a-zA-Z]{2}$" ' 2 99-99-XX
  12. arrSC(2) = "^[d]{2}[a-zA-Z]{2}[d]{2}$" ' 3 99-XX-99
  13. arrSC(3) = "^[a-zA-Z]{2}[d]{2}[a-zA-Z]{2}$" ' 4 XX-99-XX
  14. arrSC(4) = "^[a-zA-Z]{2}[a-zA-Z]{2}[d]{2}$" ' 5 XX-XX-99
  15. arrSC(5) = "^[d]{2}[a-zA-Z]{2}[a-zA-Z]{2}$" ' 6 99-XX-XX
  16. arrSC(6) = "^[d]{2}[a-zA-Z]{3}[d]{1}$" ' 7 99-XXX-9
  17. arrSC(7) = "^[d]{1}[a-zA-Z]{3}[d]{2}$" ' 8 9-XXX-99
  18. arrSC(8) = "^[a-zA-Z]{2}[d]{3}[a-zA-Z]{1}$" ' 9 XX-999-X
  19. arrSC(9) = "^[a-zA-Z]{1}[d]{3}[a-zA-Z]{2}$" ' 10 X-999-XX
  20. arrSC(10) = "^[a-zA-Z]{3}[d]{2}[a-zA-Z]{1}$" ' 11 XXX-99-X
  21. arrSC(11) = "^[a-zA-Z]{1}[d]{2}[a-zA-Z]{3}$" ' 12 X-99-XXX
  22. arrSC(12) = "^[d]{1}[a-zA-Z]{2}[d]{3}$" ' 13 9-XX-999
  23. arrSC(13) = "^[d]{3}[a-zA-Z]{2}[d]{1}$" ' 14 999-XX-9
  24.  
  25. 'except licenseplates for diplomats
  26. scUitz = "^CD[ABFJNST][0-9]{1,3}$" 'for example: CDB1 of CDJ45
  27.  
  28. For i As Integer = 0 To 13
  29. If System.Text.RegularExpressions.Regex.IsMatch(Licenseplate, arrSC(i)) Then
  30. Return (i + 1).ToString
  31. End If
  32. Next
  33.  
  34. If System.Text.RegularExpressions.Regex.IsMatch(Licenseplate, scUitz) Then
  35. Return "CD"
  36. End If
  37.  
  38. Return String.Empty
  39.  
  40. End Function
  41.  
  42. Public Shared Function FormatLicenseplate(ByVal Licenseplate As String, ByVal Sidecode As String) As String
  43.  
  44. Licenseplate = Licenseplate.Replace("-", "").ToUpper
  45.  
  46. Select Case Sidecode
  47.  
  48. Case "1", "2", "3", "4", "5", "6"
  49. Return Licenseplate.Substring(0, 2) & "-" & Licenseplate.Substring(2, 2) & "-" & Licenseplate.Substring(4, 2)
  50.  
  51. Case "7", "9"
  52. Return Licenseplate.Substring(0, 2) & "-" & Licenseplate.Substring(2, 3) & "-" & Licenseplate.Substring(5, 1)
  53.  
  54. Case "8", "10"
  55. Return Licenseplate.Substring(0, 1) & "-" & Licenseplate.Substring(1, 3) & "-" & Licenseplate.Substring(4, 2)
  56.  
  57. Case "11", "14"
  58. Return Licenseplate.Substring(0, 3) & "-" & Licenseplate.Substring(3, 2) & "-" & Licenseplate.Substring(5, 1)
  59.  
  60. Case "12", "13"
  61. Return Licenseplate.Substring(0, 1) & "-" & Licenseplate.Substring(1, 2) & "-" & Licenseplate.Substring(3, 3)
  62.  
  63. Case Else
  64. 'No formatting with sidecode 'CD'
  65. Return Licenseplate
  66.  
  67. End Select
  68.  
  69. End Function
  70.  
  71. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement