diff --git a/lib/web3/iban.js b/lib/web3/iban.js index 5533ca2..3235025 100644 --- a/lib/web3/iban.js +++ b/lib/web3/iban.js @@ -146,7 +146,7 @@ Iban.isValid = function (iban) { * @returns {Boolean} true if it is, otherwise false */ Iban.prototype.isValid = function () { - return /^XE[0-9]{2}(ETH[0-9A-Z]{13}|[0-9A-Z]{30})$/.test(this._iban) && + return /^XE[0-9]{2}(ETH[0-9A-Z]{13}|[0-9A-Z]{30,31})$/.test(this._iban) && mod9710(iso13616Prepare(this._iban)) === 1; }; diff --git a/test/iban.isValid.js b/test/iban.isValid.js index a746b56..31ea0d6 100644 --- a/test/iban.isValid.js +++ b/test/iban.isValid.js @@ -19,7 +19,8 @@ var tests = [ { obj: 'XE81ETHXREGGaVOFYORK', is: false}, { obj: 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', is: true}, { obj: 'XE7438O073KYGTWWZN0F2WZ0R8PX5ZPPZS', is: false}, // control number is invalid - { obj: 'XD7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', is: false} + { obj: 'XD7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', is: false}, + { obj: 'XE1222Q908LN1QBBU6XUQSO1OHWJIOS46OO', is: true} ]; describe('lib/web3/iban', function () {