isValidCardNumber function
Checks the input string to see whether or not it is a valid card number, possibly with groupings separated by spaces or hyphens.
@param cardNumber a String that may or may not represent a valid card number @return {@code true} if and only if the input value is a valid card number
Implementation
bool isValidCardNumber(String? cardNumber) {
String? normalizedNumber = removeSpacesAndHyphens(cardNumber);
return isValidLuhnNumber(normalizedNumber) &&
isValidCardLength(normalizedNumber);
}