Hi Sebb,

I totally agree with you.
Now the bank account number was made up because didn't want my number in a publc list.
However here is a real one: DE46310601810088194012

Which I checked on the site : http://www.ibancalculator.com/
The number is validated as valid. On all specifications.

However when i validate using the commons isvalid it returns false.
IBANCheckDigit  IbanCheckDigit = new  IBANCheckDigit();
boolean isIbanCheckOK = IbanCheckDigit.isValid("DE46310601810088194012");
Any ideas why the commons validation return false?

Pim

sebb schreef op 2013-02-01 12:04:
On 1 February 2013 10:23, Pim <[email protected]> wrote:
Hi Julien,

Maybe there are different definitions of IBAN:
http://en.wikipedia.org/wiki/International_Bank_Account_Number
Given examples are:
Country IBAN formatting example
Greece GR16 0110 1250 0000 0001 2300 695
United Kingdom GB29 NWBK 6016 1331 9268 19
Saudi Arabia SA03 8000 0000 6080 1016 7519
Switzerland CH93 0076 2011 6238 5295 7
Israel IL62 0108 0000 0009 9999 999


Which is similar to the option I tested as //NL80RABO0001234567
Where
NL the country code is
80 the check digit is

Are you sure that is the correct check digit?

RABO is the associated bank. In this case (Rabobank which is a dutch bank)
0001234567 The actual bank account number.

That looks like a made-up number.

The other number versions in the list are the semy translated version.
271011240310716969232100
27101124 -> RABO as char position in alphabet + 9
0310716969 -> unchanged bank account number
2321 -> NL as char position in alphabet + 9
00 -> Is the check digit 80 but set to 00 for validation as mentioned in the
java class.

No, the check digits need to be set to 00 in order to calculate them,
not for validation.

Either use:

IBANCheckDigit.IBAN_CHECK_DIGIT.isValid("NL80RABO0001234567"); // => false
or
IBANCheckDigit.IBAN_CHECK_DIGIT.calculate("NL00RABO0001234567");

Since I have tried several option and non seem to work. I'm confused what
the actual input should be.

Pim



Julien Wajsberg schreef op 2013-02-01 11:00:

Hi,

You may be confused as these numbers do not look like IBAN at all.

An IBAN is a normalized bank account number in use in European countries.

For more information you can look the Wikipedia page at
http://fr.m.wikipedia.org/wiki/ISO_13616

Regards,
--
Julien
 Le 1 févr. 2013 10:51, "Pim" <[email protected]> a écrit :

Hello,

I'm looking for some advice on how to use the IBAN validation.

So far I have coded this:
                //INGB0001234567NL
                //NL80RABO0001234567
                //271011240001234567232100
                String ibanNbr = "271011240310716969232100";
IBANCheckDigit  IbanCheckDigit = new  IBANCheckDigit();
boolean isIbanCheckOK = IbanCheckDigit.isValid(**ibanNbr);

But all call have come back false. Even when I enter a valid IBAN
number.
I confused what it needs to propery validate an IBAN number. I presume
this should work : INGB0001234567NL
As this is the business format of a IBAN number.

Any help is much appreciated.

Kind regards,
Pim



------------------------------**------------------------------**---------
To unsubscribe, e-mail:
user-unsubscribe@commons.**apache.org<[email protected]>
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]

For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to