isIban property

bool isIban

Checks whether the String is a valid IBAN.

Example

String iban = 'GR1601101250000000012300695';
bool isIban = iban.isIban; // returns true;
String iban = 'GR01250000000012300695';
bool isIban = iban.isIban; // returns false;

Implementation

bool get isIban {
  if (this.isBlank) {
    return false;
  }

  if (this!.length <= 2) {
    return false;
  }
  final countryCode = this.first(n: 2);

  if (!StringHelpers.ibanLen.containsKey(countryCode)) {
    return false;
  }

  if (StringHelpers.ibanLen[countryCode] != this!.length) {
    return false;
  }

  var regex = RegExp(
      r'(^[a-zA-Z]{2}(?:0[2-9]|[1-8][0-9]|9[0-8])[a-zA-Z0-9]{4}[0-9]{6}[a-zA-Z0-9]{0,20}$)');
  return regex.hasMatch(this!);
}