Class IBANValidator
java.lang.Object
org.apache.commons.validator.routines.IBANValidator
IBAN Validator.
Checks an IBAN for:
- country code prefix
- IBAN length
- pattern (digits and/or uppercase letters)
- IBAN Checkdigits (using
IBANCheckDigit)
The validator includes a default set of formats derived from the IBAN registry at https://www.swift.com/standards/data-standards/iban.
This can get out of date, but the set can be adjusted by creating a validator and using the
setValidator(String, int, String) or
setValidator(Validator)
method to add (or remove) an entry.
For example:
IBANValidator ibv = new IBANValidator();
ibv.setValidator("XX", 12, "XX\\d{10}")
The singleton default instance cannot be modified in this way.
- Since:
- 1.5.0
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final IBANValidatorThe singleton instance which uses the default formats -
Constructor Summary
ConstructorsConstructorDescriptionCreate a default IBAN validator.IBANValidator(IBANValidator.Validator[] validators) Create an IBAN validator from the specified map of IBAN formats. -
Method Summary
Modifier and TypeMethodDescriptionGets a copy of the default Validators.static IBANValidatorGets the singleton instance of the IBAN validator using the default formats.getValidator(String code) Gets the Validator for a given IBAN.booleanhasValidator(String code) Tests if the given code has a validator.booleanTests an IBAN Code.setValidator(String countryCode, int length, String format) Installs a validator.setValidator(IBANValidator.Validator validator) Installs a validator.Validate an IBAN Code.
-
Field Details
-
DEFAULT_IBAN_VALIDATOR
The singleton instance which uses the default formats
-
-
Constructor Details
-
IBANValidator
public IBANValidator()Create a default IBAN validator. -
IBANValidator
Create an IBAN validator from the specified map of IBAN formats.- Parameters:
validators- map of IBAN formats.
-
-
Method Details
-
getInstance
Gets the singleton instance of the IBAN validator using the default formats.- Returns:
- A singleton instance of the IBAN validator.
-
getDefaultValidators
Gets a copy of the default Validators.- Returns:
- A copy of the default Validator array.
-
getValidator
Gets the Validator for a given IBAN.- Parameters:
code- A string starting with the ISO country code (for example, an IBAN).- Returns:
- The validator or
nullif there is not one registered.
-
hasValidator
Tests if the given code has a validator.- Parameters:
code- The code to check.- Returns:
- true if there is a validator.
-
isValid
-
setValidator
Installs a validator. Will replace any existing entry which has the same countryCode.- Parameters:
countryCode- The country code.length- The length of the IBAN. Must be ≥ 8 and ≤ 32. If the length is < 0, the validator is removed, and the format is not used.format- The format of the IBAN (as a regular expression).- Returns:
- The previous Validator, or
nullif there was none. - Throws:
IllegalArgumentException- if there is a problem.IllegalStateException- if an attempt is made to modify the singleton validator.
-
setValidator
Installs a validator. Will replace any existing entry which has the same countryCode.- Parameters:
validator- The instance to install.- Returns:
- The previous Validator, or
nullif there was none. - Throws:
IllegalStateException- if an attempt is made to modify the singleton validator.
-
validate
Validate an IBAN Code.- Parameters:
code- The value validation is being performed on.- Returns:
IBANValidatorStatusfor validation.- Since:
- 1.10.0
-