Skip to content

Commit 21d022d

Browse files
committed
synchronize IBAN formats
1 parent a1b845a commit 21d022d

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

Constraints/IbanValidator.php

+4
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ class IbanValidator extends ConstraintValidator
7373
'EG' => 'EG\d{2}\d{4}\d{4}\d{17}', // Egypt
7474
'ES' => 'ES\d{2}\d{4}\d{4}\d{1}\d{1}\d{10}', // Spain
7575
'FI' => 'FI\d{2}\d{3}\d{11}', // Finland
76+
'FK' => 'FK\d{2}[A-Z]{2}\d{12}', // Falkland Islands
7677
'FO' => 'FO\d{2}\d{4}\d{9}\d{1}', // Faroe Islands
7778
'FR' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
7879
'GA' => 'GA\d{2}\d{23}', // Gabon
@@ -117,6 +118,7 @@ class IbanValidator extends ConstraintValidator
117118
'MG' => 'MG\d{2}\d{23}', // Madagascar
118119
'MK' => 'MK\d{2}\d{3}[\dA-Z]{10}\d{2}', // Macedonia
119120
'ML' => 'ML\d{2}[\dA-Z]{2}\d{22}', // Mali
121+
'MN' => 'MN\d{2}\d{4}\d{12}', // Mongolia
120122
'MQ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
121123
'MR' => 'MR\d{2}\d{5}\d{5}\d{11}\d{2}', // Mauritania
122124
'MT' => 'MT\d{2}[A-Z]{4}\d{5}[\dA-Z]{18}', // Malta
@@ -127,6 +129,7 @@ class IbanValidator extends ConstraintValidator
127129
'NI' => 'NI\d{2}[A-Z]{4}\d{24}', // Nicaragua
128130
'NL' => 'NL\d{2}[A-Z]{4}\d{10}', // Netherlands (The)
129131
'NO' => 'NO\d{2}\d{4}\d{6}\d{1}', // Norway
132+
'OM' => 'OM\d{2}\d{3}[\dA-Z]{16}', // Oman
130133
'PF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
131134
'PK' => 'PK\d{2}[A-Z]{4}[\dA-Z]{16}', // Pakistan
132135
'PL' => 'PL\d{2}\d{8}\d{16}', // Poland
@@ -160,6 +163,7 @@ class IbanValidator extends ConstraintValidator
160163
'VG' => 'VG\d{2}[A-Z]{4}\d{16}', // Virgin Islands
161164
'WF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
162165
'XK' => 'XK\d{2}\d{4}\d{10}\d{2}', // Kosovo
166+
'YE' => 'YE\d{2}[A-Z]{4}\d{4}[\dA-Z]{18}', // Yemen
163167
'YT' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
164168
];
165169

Resources/bin/sync-iban-formats.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ public function getIbanFormats(): array
168168
$formats = [];
169169

170170
foreach ($this->readIbanFormatsTable() as $item) {
171-
if (!preg_match('/^([A-Z]{2})/', $item['Example'], $matches)) {
171+
if (!preg_match('/^([A-Z]{2})/', $item['IBAN Fields'], $matches)) {
172172
continue;
173173
}
174174

Tests/Constraints/IbanValidatorTest.php

+4
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ public static function getValidIbans()
8686
['CZ65 0800 0000 1920 0014 5399'], // Czech Republic
8787
['DK50 0040 0440 1162 43'], // Denmark
8888
['EE38 2200 2210 2014 5685'], // Estonia
89+
['FK12 SC98 7654 3210 98'], // Falkland Islands
8990
['FO97 5432 0388 8999 44'], // Faroe Islands
9091
['FI21 1234 5600 0007 85'], // Finland
9192
['FR14 2004 1010 0505 0001 3M02 606'], // France
@@ -109,9 +110,11 @@ public static function getValidIbans()
109110
['MU17 BOMM 0101 1010 3030 0200 000M UR'], // Mauritius
110111
['MD24 AG00 0225 1000 1310 4168'], // Moldova
111112
['MC93 2005 2222 1001 1223 3M44 555'], // Monaco
113+
['MN14 0005 0051 6384 7716'], // Mongolia
112114
['ME25 5050 0001 2345 6789 51'], // Montenegro
113115
['NL39 RABO 0300 0652 64'], // Netherlands
114116
['NO93 8601 1117 947'], // Norway
117+
['OM04 0280 0000 1234 5678 901'], // Oman
115118
['PK36 SCBL 0000 0011 2345 6702'], // Pakistan
116119
['PL60 1020 1026 0000 0422 7020 1111'], // Poland
117120
['PT50 0002 0123 1234 5678 9015 4'], // Portugal
@@ -128,6 +131,7 @@ public static function getValidIbans()
128131
['TR33 0006 1005 1978 6457 8413 26'], // Turkey
129132
['AE07 0331 2345 6789 0123 456'], // UAE
130133
['GB12 CPBK 0892 9965 0449 91'], // United Kingdom
134+
['YE09 CBKU 0000 0000 0000 1234 5601 01'], // Yemen
131135

132136
['DJ21 0001 0000 0001 5400 0100 186'], // Djibouti
133137
['EG38 0019 0005 0000 0000 2631 8000 2'], // Egypt

0 commit comments

Comments
 (0)