validateCardNumber static method
Validates Iranian bank card number @param cardNumber The card number to validate @returns bool True if valid Example: PersianTools.validateCardNumber("6219861034567890") => true
Implementation
static bool validateCardNumber(String cardNumber) {
if (cardNumber.length != 16 || int.parse(cardNumber.substring(1, 11)) == 0) return false;
int sum = 0;
for (int i = 0; i < 16; i++) {
final int multiplier = i.isEven ? 2 : 1;
final int subDigit = int.parse(cardNumber[i]) * multiplier;
sum += subDigit > 9 ? subDigit - 9 : subDigit;
}
return sum % 10 == 0;
}