detect static method

CardBrand detect(
  1. String input
)

Implementation

static CardBrand detect(String input) {
  final String number = input.replaceAll(RegExp(r"\D"), "");
  if (number.isEmpty) return CardBrand.unknown;

  if (RegExp("^4").hasMatch(number)) return CardBrand.visa;
  if (RegExp("^(5[1-5]|2[2-7])").hasMatch(number)) return CardBrand.mastercard;
  if (RegExp("^3[47]").hasMatch(number)) return CardBrand.amex;
  if (RegExp("^6(011|5|4[4-9]|22)").hasMatch(number)) return CardBrand.discover;
  if (RegExp("^3(0[0-5]|[68])").hasMatch(number)) return CardBrand.dinersClub;
  if (RegExp("^35").hasMatch(number)) return CardBrand.jcb;
  return CardBrand.unknown;
}