Zjištění typu platební karty

Funkce:
Public Function CreditCardType(ByVal CardNo As String) As String

'*TYPY KARET            *PREFIX           *DÉLKA
'American Express        34, 37               15
'Diners Club                300 do 305, 36    14
'Carte Blanche             38                    14
'Discover                    6011                 16
'EnRoute                    2014, 2149         15
'JCB                          3                      16
'JCB                          2131, 1800         15
'Master Card              51 do 55             16
'Visa                         4                      13, 16
    
   CreditCardType = "Unknown"

   'Odstranění mezer a pomlček z řetězce
   CardNo = Replace(Replace(CardNo, " ", ""), "-", "")

   If Len(CardNo) < 14 Or Not IsNumeric(CardNo) Then Exit Function

   Select Case CInt(Left(CardNo, 2))
      Case 34, 37
         CreditCardType = "American Express"
      Case 36
         CreditCardType = "Diners Club"
      Case 38
         CreditCardType = "Carte Blanche"
      Case 51 To 55
         CreditCardType = "Master Card"
      Case Else
         Select Case CInt(Left(CardNo, 4))
            Case 2014, 2149
               CreditCardType = "EnRoute"
            Case 2131, 1800
               CreditCardType = "JCB"
            Case 6011
               CreditCardType = "Discover"
            Case Else
               Select Case CInt(Left(CardNo, 3))
                  Case 300 To 305
                     CreditCardType = "American Diners Club"
                  Case Else
                     Select Case CInt(Left(CardNo, 1))
                        Case 3
                           CreditCardType = "JCB"
                        Case 4
                           CreditCardType = "Visa"
                     End Select
               End Select
         End Select
   End Select

End Function

Příklad použití:
x = CreditCardType("5454 1234 4321 1234")

Zpět

Autor: The Bozena