checkLuhn static method
Return true if the cardNumber
is valid card number, otherwise returns
false.
See Luhn algorithm
Implementation
static bool checkLuhn(String cardNumber) {
var sum = 0;
var isEven = false;
for (var i = cardNumber.length - 1; i >= 0; i--) {
var digit = int.parse(cardNumber[i]);
if (isEven) {
digit *= 2;
if (digit > 9) {
digit -= 9;
}
}
sum += digit;
isEven = !isEven;
}
return sum % 10 == 0;
}