# Check a Credit card number : String « Data Type « VB.Net Tutorial

```' Quote from
'Visual Basic 2005 Cookbook Solutions for VB 2005 Programmers
'by Tim Patrick (Author), John Craig (Author)
'# Publisher: O'Reilly Media, Inc. (September 21, 2006)
'# Language: English
'# ISBN-10: 0596101775
'# ISBN-13: 978-0596101770

Public Class Tester
Public Shared Sub Main

Console.WriteLine(VerifyCreditCard("123123123123123123"))
End Sub
Private Shared Function VerifyCreditCard(ByVal cardNumber As String) As Boolean
' ----- Given a card number, make sure it is valid. This method
'       uses the Luhn algorithm to verify the number. This routine
'       assumes that cardNumber contains only digits.
Dim counter As Integer
Dim digitTotal As Integer
Dim holdValue As Integer
Dim checkDigit As Integer
Dim calcDigit As Integer
Dim useCard As String

' ----- Perform some initial checks.
useCard = Trim(cardNumber)
If (IsNumeric(useCard) = False) Then Return False

' ----- Separate out the last digit, the check digit. For cards with
'       an odd number of digits, prepend with a zero.
If ((Len(useCard) Mod 2) <> 0) Then useCard = "0" & useCard
checkDigit = useCard.Substring(Len(useCard) - 1, 1)
useCard = useCard.Substring(0, Len(useCard) - 1)

' ----- Process each digit.
digitTotal = 0
For counter = 1 To Len(useCard)
If ((counter Mod 2) = 1) Then
' ----- This is an odd digit position. Double the number.
holdValue = CInt(Mid(useCard, counter, 1)) * 2
If (holdValue > 9) Then
' ----- Break the digits (e.g., 19 becomes 1+9).
digitTotal += (holdValue \ 10) + (holdValue - 10)
Else
digitTotal += holdValue
End If
Else
' ----- This is an even digit position. Simply add it.
digitTotal += CInt(Mid(useCard, counter, 1))
End If
Next counter

' ----- Calculate the 10's complement of both values.
calcDigit = 10 - (digitTotal Mod 10)
If (calcDigit = 10) Then calcDigit = 0
If (checkDigit = calcDigit) Then Return True Else Return False
End Function

End Class
```
`False`
 2.26.String 2.26.1. Declare String Variable and assign value 2.26.2. String.Empty 2.26.3. Demonstrating String class constructors 2.26.4. Join string 2.26.5. Copy characters from string1 into character Array 2.26.6. String Length property 2.26.7. Demonstrating method GetHashCode of class String 2.26.8. Insert sub string by index 2.26.9. Insert method returns the resulting string 2.26.10. SubString 2.26.11. Get string morse code 2.26.12. String operation timing 2.26.13. Change tab to space 2.26.14. ToString 2.26.15. Catch Exception for String.Substring 2.26.16. Count Vowels 2.26.17. Reverse a string 2.26.18. Make a reference copy 2.26.19. Check a Credit card number 2.26.20. Read String value from Keyboard