23

Does anyone know of a reliable way to validate International Bank Account Number (IBAN) and Bank Identifier Code (BIC) in java?

tehvan
  • 10,189
  • 5
  • 27
  • 31
  • 2
    Rephrased the original question. I'm no longer using the dreadful word "library", which caused the question to be closed as off-topic – tehvan Dec 11 '14 at 10:57

6 Answers6

38

Apache Commons Validator has IBAN validation (since version 1.4)

Home page: http://commons.apache.org/validator/

Javadoc: https://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.html

Maven dependency:

<dependency>
  <groupId>commons-validator</groupId>
  <artifactId>commons-validator</artifactId>
  <version>1.7</version>
</dependency>

Edit: Updated javadoc link.

Milanka
  • 1,742
  • 19
  • 15
  • The correct link to the javadoc is:http://commons.apache.org/proper/commons-validator/javadocs/api-1.4.0/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.html – drame Oct 20 '14 at 06:46
16

Apache Commons Validator is good for IBAN validation, but lacks BBAN structure validation (as specified in IBAN registry).

I have just released a library, named jbanking, that might suits your need. It contains routines for both IBAN and BIC validation. You can find it on github (https://github.com/marcwrobel/jbanking).

But note that you cannot have a reliable BIC / IBAN validation without using the IBAN Plus Directory (formely known as the BICplusIBAN Directory) and the Bank directory Plus (formely known as the BIC directory). Both are provided and regularly updated by SWIFT which is the BIC / IBAN registrar. Unfortunately those directories are not available for free.

ax.
  • 58,560
  • 8
  • 81
  • 72
Marc Wrobel
  • 644
  • 9
  • 19
7

These might be worth a look:

http://soastation.googlepages.com/iban-checkdigit-src.jar

http://developers.sun.com/docs/javacaps/designing/capsswftintprj.ghfyv.html

Brandon E Taylor
  • 24,881
  • 6
  • 47
  • 71
  • 6
    Brandon, your first link works fine (just downloads a jar file with no copyright etc, is this what you intended?) The second link though, is broken. Looks like Oracle doesn't like it much. – Johan May 17 '11 at 08:46
4

iban4j might be good choice for IBAN validation.

home page: https://github.com/arturmkrtchyan/iban4j

Maven dependency:

<dependency>
      <groupId>org.iban4j</groupId>
      <artifactId>iban4j</artifactId>
      <version>1.0.0</version>
</dependency>
Artur Mkrtchyan
  • 921
  • 9
  • 9
1

This is a library of utilities to assist with developing banking functionality. https://github.com/marcwrobel/jbanking

vaskenzis
  • 11
  • 1
0

This library provides an IBAN class supporting BBAN structure validation.

http://www.jdtaus.org/ISO-13616/current/index.html