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

A comprehensive IBAN validator for Dart and Flutter. Supports all 89 official ISO 13616 countries plus 22 experimental countries (111 country codes total), covering every nation that uses IBAN for ban [...]

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
0
points
152
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive IBAN validator for Dart and Flutter. Supports all 89 official ISO 13616 countries plus 22 experimental countries (111 country codes total), covering every nation that uses IBAN for banking transactions — including Eurozone, Middle East, Africa, and the Americas.

Repository (GitHub)
View/report issues

Topics

#iban #finance #banking #validation #payments

License

unknown (license)

More

Packages that depend on iban_validator