From 8dc7fbd9849f4a46da4e87b589dce582276ef64e Mon Sep 17 00:00:00 2001 From: Danial Date: Sat, 22 Nov 2025 12:49:50 +0330 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=91=8C=20IMPROVE:=20iran=20iban=20has?= =?UTF-8?q?=20no=20rule=20to=20include=200=20digits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/isIBAN.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/isIBAN.js b/src/lib/isIBAN.js index ed0abd6c0..292e49255 100644 --- a/src/lib/isIBAN.js +++ b/src/lib/isIBAN.js @@ -43,7 +43,7 @@ const ibanRegexThroughCountryCode = { IE: /^(IE[0-9]{2})[A-Z]{4}\d{14}$/, IL: /^(IL[0-9]{2})\d{19}$/, IQ: /^(IQ[0-9]{2})[A-Z]{4}\d{15}$/, - IR: /^(IR[0-9]{2})0\d{2}0\d{18}$/, + IR: /^(IR[0-9]{2})\d{22}$/, IS: /^(IS[0-9]{2})\d{22}$/, IT: /^(IT[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/, JO: /^(JO[0-9]{2})[A-Z]{4}\d{22}$/, From 10ffc869b744358ad337b9f5fe7be9864a1e1fbc Mon Sep 17 00:00:00 2001 From: Danial Date: Sat, 22 Nov 2025 14:12:17 +0330 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=A7=AA=20TEST:=20add=20missing=20isIB?= =?UTF-8?q?AN=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/validators/isIBAN.test.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 test/validators/isIBAN.test.js diff --git a/test/validators/isIBAN.test.js b/test/validators/isIBAN.test.js new file mode 100644 index 000000000..6c6d4ef15 --- /dev/null +++ b/test/validators/isIBAN.test.js @@ -0,0 +1,29 @@ +import test from '../testFunctions'; + +describe('isIBAN', () => { + it('should validate IBANs', () => { + test({ + validator: 'isIBAN', + valid: [ + 'IR576406610070915600106898', + ], + invalid: [ + // Invalid format/checksum + 'IR545049154806779008008299', + + // Invalid structure + 'IR5750491548067790080082', + + // Country code not in whitelist when specified + // Empty/null values + '', + ' ', + + // Random invalid strings + 'not an iban', + '1234567890', + 'ABCD1234567890', + ], + }); + }); +}); From c7c26c2afd0b21d2bf66d7e163c4a869cbb3e0e6 Mon Sep 17 00:00:00 2001 From: Danial Date: Sat, 22 Nov 2025 14:17:40 +0330 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=A7=AA=20TEST:=20add=20missing=20isIB?= =?UTF-8?q?AN=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/validators.test.js | 1 + test/validators/isIBAN.test.js | 29 ----------------------------- 2 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 test/validators/isIBAN.test.js diff --git a/test/validators.test.js b/test/validators.test.js index c5ea4dc99..f5e23cd38 100644 --- a/test/validators.test.js +++ b/test/validators.test.js @@ -6142,6 +6142,7 @@ describe('Validators', () => { 'IE29AIBK93115212345678', 'PS92PALS000000000400123456702', 'PS92PALS00000000040012345670O', + 'IR576406610070915600106898', ], invalid: [ 'XX22YYY1234567890123', diff --git a/test/validators/isIBAN.test.js b/test/validators/isIBAN.test.js deleted file mode 100644 index 6c6d4ef15..000000000 --- a/test/validators/isIBAN.test.js +++ /dev/null @@ -1,29 +0,0 @@ -import test from '../testFunctions'; - -describe('isIBAN', () => { - it('should validate IBANs', () => { - test({ - validator: 'isIBAN', - valid: [ - 'IR576406610070915600106898', - ], - invalid: [ - // Invalid format/checksum - 'IR545049154806779008008299', - - // Invalid structure - 'IR5750491548067790080082', - - // Country code not in whitelist when specified - // Empty/null values - '', - ' ', - - // Random invalid strings - 'not an iban', - '1234567890', - 'ABCD1234567890', - ], - }); - }); -});