networkOf static method

NmIconData? networkOf(
  1. String cardNumber
)

Card network mark for a card number prefix (Visa 4, Mastercard 51–55 / 2221–2720, Mir 2200–2204), or null.

Implementation

static NmIconData? networkOf(String cardNumber) {
  final d = cardNumber.replaceAll(RegExp(r'\D'), '');
  if (d.startsWith('4')) return NmSvgIcons.paymentVisa;
  if (d.length >= 4) {
    final p4 = int.parse(d.substring(0, 4));
    if (p4 >= 2200 && p4 <= 2204) return NmSvgIcons.paymentMir;
    if (p4 >= 2221 && p4 <= 2720) return NmSvgIcons.paymentMastercard;
  }
  if (d.length >= 2) {
    final p2 = int.parse(d.substring(0, 2));
    if (p2 >= 51 && p2 <= 55) return NmSvgIcons.paymentMastercard;
  }
  return null;
}