This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-validator.git
The following commit(s) were added to refs/heads/master by this push: new b942c027 IBANValidator : add Falkland Islands, Mongolia, Nicaragua, Oman, Somalia (#209) b942c027 is described below commit b942c027f9a1397f4244b6a70561987cfaa7f1bc Author: homebeaver <homebea...@outlook.de> AuthorDate: Tue Apr 23 18:30:16 2024 +0200 IBANValidator : add Falkland Islands, Mongolia, Nicaragua, Oman, Somalia (#209) * add IBANValidator for Falkland Islands, since Jul-23, Mongolia, Nicaragua, Oman, Somalia published in IBAN REGISTRY Release 97 – Mar 2024 * IBANValidator Test with examples from IBAN REGISTRY Release 97 the examples for Nicaragua is buggy - I've changed the check digit --- .../java/org/apache/commons/validator/routines/IBANValidator.java | 7 ++++++- .../org/apache/commons/validator/routines/IBANValidatorTest.java | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/validator/routines/IBANValidator.java b/src/main/java/org/apache/commons/validator/routines/IBANValidator.java index 4db944d9..aa6136ca 100644 --- a/src/main/java/org/apache/commons/validator/routines/IBANValidator.java +++ b/src/main/java/org/apache/commons/validator/routines/IBANValidator.java @@ -147,6 +147,7 @@ public class IBANValidator { new Validator("EG", 29, "EG\\d{27}"), // Egypt new Validator("ES", 24, "ES\\d{22}"), // Spain new Validator("FI", 18, "\\d{16}", "AX"), // Finland + new Validator("FK", 18, "FK\\d{2}[A-Z]{2}\\d{12}"), // Falkland Islands, since Jul-23 new Validator("FO", 18, "FO\\d{16}"), // Faroe Islands new Validator("FR", 27, "\\d{12}[A-Z0-9]{11}\\d{2}", "GF", "GP", "MQ", "RE", "PF", "TF", "YT", "NC", "BL", "MF", "PM", "WF"), // France new Validator("GB", 22, "\\d{2}[A-Z]{4}\\d{14}", "IM", "JE", "GG"), // United Kingdom @@ -176,11 +177,14 @@ public class IBANValidator { new Validator("MD", 24, "MD\\d{2}[A-Z0-9]{20}"), // Moldova new Validator("ME", 22, "ME\\d{20}"), // Montenegro new Validator("MK", 19, "MK\\d{5}[A-Z0-9]{10}\\d{2}"), // Macedonia + new Validator("MN", 20, "MN\\d{18}"), // Mongolia, since Apr-23 new Validator("MR", 27, "MR\\d{25}"), // Mauritania new Validator("MT", 31, "MT\\d{2}[A-Z]{4}\\d{5}[A-Z0-9]{18}"), // Malta new Validator("MU", 30, "MU\\d{2}[A-Z]{4}\\d{19}[A-Z]{3}"), // Mauritius + new Validator("NI", 28, "NI\\d{2}[A-Z]{4}\\d{20}"), // Nicaragua, since Apr-23 new Validator("NL", 18, "NL\\d{2}[A-Z]{4}\\d{10}"), // Netherlands (The) new Validator("NO", 15, "NO\\d{13}"), // Norway + new Validator("OM", 23, "OM\\d{5}[A-Z0-9]{16}"), // Oman, since Mar-24 new Validator("PK", 24, "PK\\d{2}[A-Z]{4}[A-Z0-9]{16}"), // Pakistan new Validator("PL", 28, "PL\\d{26}"), // Poland new Validator("PS", 29, "PS\\d{2}[A-Z]{4}[A-Z0-9]{21}"), // Palestine, State of @@ -188,7 +192,7 @@ public class IBANValidator { new Validator("QA", 29, "QA\\d{2}[A-Z]{4}[A-Z0-9]{21}"), // Qatar new Validator("RO", 24, "RO\\d{2}[A-Z]{4}[A-Z0-9]{16}"), // Romania new Validator("RS", 22, "RS\\d{20}"), // Serbia - new Validator("RU", 33, "RU\\d{31}"), // Russia + new Validator("RU", 33, "RU\\d{16}[A-Z0-9]{15}"), // Russia new Validator("SA", 24, "SA\\d{4}[A-Z0-9]{18}"), // Saudi Arabia new Validator("SC", 31, "SC\\d{2}[A-Z]{4}\\d{20}[A-Z]{3}"), // Seychelles new Validator("SD", 18, "SD\\d{16}"), // Sudan @@ -196,6 +200,7 @@ public class IBANValidator { new Validator("SI", 19, "SI\\d{17}"), // Slovenia new Validator("SK", 24, "SK\\d{22}"), // Slovakia new Validator("SM", 27, "SM\\d{2}[A-Z]{1}\\d{10}[A-Z0-9]{12}"), // San Marino + new Validator("SO", 23, "SO\\d{21}"), // Somalia, since Feb-23 new Validator("ST", 25, "ST\\d{23}"), // Sao Tome and Principe new Validator("SV", 28, "SV\\d{2}[A-Z]{4}\\d{20}"), // El Salvador new Validator("TL", 23, "TL\\d{21}"), // Timor-Leste diff --git a/src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java b/src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java index e8449886..3e823fe7 100644 --- a/src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java +++ b/src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java @@ -90,6 +90,7 @@ public class IBANValidatorTest { // FI other "AX2112345600000785", // FI other "AX5542345670000081", // FI other + "FK88SC123456789012", "FO6264600001631634", "FR1420041010050500013M02606", // FR 'other' @@ -137,11 +138,14 @@ public class IBANValidatorTest { "MD24AG000225100013104168", "ME25505000012345678951", "MK07250120000058984", + "MN121234123456789123", "MR1300020001010000123456753", "MT84MALT011000012345MTLCAST001S", "MU17BOMM0101101030300200000MUR", + "NI45BAPR00000013000003558124", "NL91ABNA0417164300", "NO9386011117947", + "OM810180000001299123456", "PK36SCBL0000001123456702", "PL61109010140000071219812874", "PS92PALS000000000400123456702", @@ -158,6 +162,7 @@ public class IBANValidatorTest { "SI56263300012039086", "SK3112000000198742637541", "SM86U0322509800000000270100", + "SO211000001001000100141", "ST68000100010051845310112", "SV62CENR00000000000000700025", "SV43ACAT00000000000000123123",