reliable way to validate IBAN/BIC in java [closed]
Question
Does anyone know of a reliable way to validate International Bank Account Number (IBAN) and Bank Identifier Code (BIC) in java?
Solution
OTHER TIPS
Apache Commons Validator has IBAN validation (since version 1.4)
Home page: http://commons.apache.org/validator/
Maven dependency:
<dependency>
<groupId>commons-validator</groupId>
<artifactId>commons-validator</artifactId>
<version>1.6.0</version>
</dependency>
Edit: Updated javadoc link.
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.
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>
This library provides an IBAN class supporting BBAN structure validation.
This is a library of utilities to assist with developing banking functionality. https://github.com/marcwrobel/jbanking