Class IBANCheckDigit

  • All Implemented Interfaces:
    java.io.Serializable, CheckDigit

    public final class IBANCheckDigit
    extends java.lang.Object
    implements CheckDigit, java.io.Serializable
    IBAN (International Bank Account Number) Check Digit calculation/validation.

    This routine is based on the ISO 7064 Mod 97,10 check digit calculation routine.

    The two check digit characters in a IBAN number are the third and fourth characters in the code. For check digit calculation/validation the first four characters are moved to the end of the code. So CCDDnnnnnnn becomes nnnnnnnCCDD (where CC is the country code and DD is the check digit). For check digit calculation the check digit value should be set to zero (i.e. CC00nnnnnnn in this example.

    Note: the class does not check the format of the IBAN number, only the check digits.

    For further information see Wikipedia - IBAN number.

    Since:
    Validator 1.4
    Version:
    $Revision: 1713572 $
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      IBANCheckDigit()
      Construct Check Digit routine for IBAN Numbers.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String calculate​(java.lang.String code)
      Calculate the Check Digit for an IBAN code.
      private int calculateModulus​(java.lang.String code)
      Calculate the modulus for a code.
      boolean isValid​(java.lang.String code)
      Validate the check digit of an IBAN code.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IBANCheckDigit

        public IBANCheckDigit()
        Construct Check Digit routine for IBAN Numbers.
    • Method Detail

      • isValid

        public boolean isValid​(java.lang.String code)
        Validate the check digit of an IBAN code.
        Specified by:
        isValid in interface CheckDigit
        Parameters:
        code - The code to validate
        Returns:
        true if the check digit is valid, otherwise false
      • calculate

        public java.lang.String calculate​(java.lang.String code)
                                   throws CheckDigitException
        Calculate the Check Digit for an IBAN code.

        Note: The check digit is the third and fourth characters and is set to the value "00".

        Specified by:
        calculate in interface CheckDigit
        Parameters:
        code - The code to calculate the Check Digit for
        Returns:
        The calculated Check Digit as 2 numeric decimal characters, e.g. "42"
        Throws:
        CheckDigitException - if an error occurs calculating the check digit for the specified code
      • calculateModulus

        private int calculateModulus​(java.lang.String code)
                              throws CheckDigitException
        Calculate the modulus for a code.
        Parameters:
        code - The code to calculate the modulus for.
        Returns:
        The modulus value
        Throws:
        CheckDigitException - if an error occurs calculating the modulus for the specified code