iban_validator 1.0.1 copy "iban_validator: ^1.0.1" to clipboard
iban_validator: ^1.0.1 copied to clipboard

A comprehensive IBAN validator for Dart and Flutter. Supports 116 country codes — all official ISO 13616 countries plus experimental African countries. Zero dependencies.

example/main.dart

// ignore_for_file: avoid_print
import 'package:iban_validator/iban_validator.dart';

void main() {
  // Simple boolean check
  print(IbanValidator.isValid('DE89 3704 0044 0532 0130 00')); // true
  print(IbanValidator.isValid('gb29 nwbk 6016 1331 9268 19')); // true

  // Country constraint
  print(IbanValidator.isValid('DE89370400440532013000',
      countryCca2: 'DE')); // true
  print(IbanValidator.isValid('DE89370400440532013000',
      countryCca2: 'FR')); // false

  // Full result
  final cases = [
    'DE89 3704 0044 0532 0130 00',
    'BADINPUT',
    'DE99370400440532013000',
    '',
  ];
  for (final iban in cases) {
    final r = IbanValidator.validate(iban);
    if (r.isValid) {
      print(
          '✓ ${r.cleanedIban} — ${r.countryInfo!.countryName} (SEPA: ${r.countryInfo!.isSepa})');
    } else {
      print('✗ "${iban.isEmpty ? '<empty>' : iban}" — ${r.errorMessage}');
    }
  }

  // Country metadata
  final de = IbanValidator.getCountryInfo('DE')!;
  print('\nGermany: length=${de.ibanLength}, sepa=${de.isSepa}');
  print('Example: ${de.example}');

  // Enumerate
  print('\nTotal countries: ${IbanValidator.getSupportedCountries().length}');
  print('SEPA: ${IbanValidator.getSepaCountries().length}');
  print('Experimental: ${IbanValidator.getExperimentalCountries().length}');
  print('Shortest IBAN (NO): ${IbanValidator.getExpectedLength('NO')}');
  print('Longest IBAN (RU):  ${IbanValidator.getExpectedLength('RU')}');
}
3
likes
160
points
152
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A comprehensive IBAN validator for Dart and Flutter. Supports 116 country codes — all official ISO 13616 countries plus experimental African countries. Zero dependencies.

Repository (GitHub)
View/report issues

Topics

#iban #finance #banking #validation #payments

License

MIT (license)

More

Packages that depend on iban_validator