'coded by loyalty
'http://loyaltyHF.blogspot.com
Private Function ValidateLuhnAlgo(ByVal combo As String) As Boolean
Dim sc = 0
If IsNumeric(combo) Then
combo = StrReverse(combo)
For i = 1 To combo.Length
If i Mod 2 = 0 Then
If Val(combo(i - 1)) * 2 > 9 Then
sc += Val((Val(combo(i - 1)) * 2).ToString()(0))
sc += Val((Val(combo(i - 1)) * 2).ToString()(1))
Else
sc += Val(combo(i - 1)) * 2
End If
Else
sc += Val(combo(i - 1))
End If
Next
If sc Mod 10 = 0 Then Return True
End If
Return False
End Function