getCardType function

AssetImage? getCardType(
  1. String cardNumber
)

Implementation

AssetImage? getCardType(String cardNumber) {
  if (cardNumber.startsWith('4') &&
      RegExp(r'[0-9]{6,}').hasMatch(cardNumber.substring(1))) {
    return const AssetImage("assets/base64/visa.txt");
  }

  bool cardIsValid = ['4', '5'].contains(cardNumber[0])
      ? RegExp(r'[0-9]{15,16}').hasMatch(cardNumber)
      : false;
  if (cardIsValid &&
      RegExp(r'22[1-9][0-9]{3,}|22[3-9][0-9]{4,}|2[3-6][0-9]{5,}|27[01][0-9]{4,}|2720[0-9]{3,}')
          .hasMatch(cardNumber)) {
    return const AssetImage("assets/base64/mastercard.txt");
  }

  return null;
}