How to Determine The Type Of Credit Card
Posted on January 5, 2009
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 'String Manipulation - How to Determine The Type Of Credit Card Public Function CreditCardType(ByVal CardNo As String) As String 'CARD TYPES PREFIX WIDTH '---------- ------ ----- 'American Express 34, 37 15 'Diners Club 300 to 305, 36 14 'Carte Blanche 38 14 'Discover 6011 16 'EnRoute 2014, 2149 15 'JCB 3 16 'JCB 2131, 1800 15 'Master Card 51 to 55 16 'Visa 4 13, 16 CreditCardType = "Unknown" CardNo = Replace(Replace(CardNo, " ", ""), "-", "") 'Validations If Len(CardNo) < 14 Or Not IsNumeric(CardNo) Then Exit Function 'Check the first two digits first 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 Private Sub Main() MsgBox CreditCardType("1224 1544 1521 2323") End Sub |