isQRIBAN function

bool isQRIBAN(
  1. String? iban
)

Check if IBAN is QR-IBAN

// returns `true`
ibantools.isQRIBAN("CH4431999123000889012");
// returns `false`
ibantools.isQRIBAN("NL92ABNA0517164300");

Implementation

bool isQRIBAN(String? iban) {
  if (iban == null || iban.isEmpty) {
    return false;
  }

  final String countryCode = iban.substring(0, 2);
  final List<String> qRIBANCountries = <String>['LI', 'CH'];
  if (!qRIBANCountries.contains(countryCode)) {
    return false;
  }

  final RegExp reg = RegExp(r'^3[0-1]{1}[0-9]{3}$');

  return reg.hasMatch(iban.substring(4, 9));
}