Java Clean Architecture Masterclass

Java Clean Architecture MasterclassNov 20-21

Join

iban4j

A Java library for the generation, validation, and parsing of International Bank Account Numbers (IBAN) and Business Identifier Codes (BIC).

Build Status Coverage Status Maven Central License


Features


Getting Started

Maven Dependency

To use iban4j in your Maven project, add the following dependency to your pom.xml:

<dependency>
    <groupId>org.iban4j</groupId>
    <artifactId>iban4j</artifactId>
    <version>3.2.11-RELEASE</version>
</dependency>

Gradle Dependency

To include iban4j into your Gradle project, add the following dependency to your build.gradle or build.gradle.kts file.

For a Groovy DSL (build.gradle) file:

dependencies {
    implementation 'org.iban4j:iban4j:3.2.11-RELEASE'
}

For a Kotlin DSL (build.gradle.kts) file:

dependencies {
    implementation("org.iban4j:iban4j:3.2.11-RELEASE")
}

After adding the dependency, run gradle build. Gradle will automatically download the library and include it in your project.


Usage Examples

IBAN Examples

Generate an IBAN
// Using the Builder pattern
Iban iban = new Iban.Builder()
    .countryCode(CountryCode.AT)
    .bankCode("19043")
    .accountNumber("00234573201")
    .build();
Create an Iban object from a string
// From a raw IBAN string
Iban iban = Iban.valueOf("DE89370400440532013000");

// From a formatted IBAN string
Iban iban = Iban.valueOf("DE89 3704 0044 0532 0130 00", IbanFormat.Default);
Generate a random IBAN
// For a specific country
Iban iban = Iban.random(CountryCode.AT);

// For a random country
Iban iban = Iban.random();

// Using the builder for more control
Iban iban = new Iban.Builder()
    .countryCode(CountryCode.AT)
    .bankCode("19043")
    .buildRandom();
Validate an IBAN
try {
    // Validate a raw IBAN
    IbanUtil.validate("AT611904300234573201");
    // Validate a formatted IBAN

    IbanUtil.validate("DE89 3704 0044 0532 0130 00", IbanFormat.Default);
    System.out.println("IBAN is valid");
} catch (IbanFormatException | InvalidCheckDigitException | UnsupportedCountryException ex) {
    System.err.println("IBAN is invalid: " + ex.getMessage());
}
Enable left-padding for generated IBANs
// Left-pad account number, bank code, and branch code with zeros
Iban iban = new Iban.Builder()
    .leftPadding(true)
    .countryCode(CountryCode.DE)
    .bankCode("66280099")
    .accountNumber("123456700")
    .build();

// Change the default padding character from '0' to '1'
Iban ibanWithCustomPadding = new Iban.Builder()
    .leftPadding(true)
    .paddingCharacter('1')
    .countryCode(CountryCode.DE)
    .bankCode("66280099")
    .accountNumber("123456700")
    .build();

BIC Examples

Create a Bic object from a string
Bic bic = Bic.valueOf("DEUTDEFF");
Validate a BIC
try {
    BicUtil.validate("DEUTDEFF500");
    System.out.println("BIC is valid");
} catch (BicFormatException ex) {
    System.err.println("BIC is invalid: " + ex.getMessage());
}

Compatibility

This library requires Java 11 or higher.


References


License

Copyright 2015 Artur Mkrtchyan.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.