@@ -34,107 +34,137 @@ class IbanValidator extends ConstraintValidator
34
34
* a BBAN (Basic Bank Account Number) which has a fixed length per country and,
35
35
* included within it, a bank identifier with a fixed position and a fixed length per country
36
36
*
37
+ * Auto-generated by script
38
+ *
39
+ * @see Resources/bin/sync-iban-formats.php
37
40
* @see https://www.swift.com/sites/default/files/resources/iban_registry.pdf
41
+ * @see https://en.wikipedia.org/wiki/International_Bank_Account_Number
38
42
*/
39
43
private const FORMATS = [
40
- 'AD ' => 'AD\d{2}\d{4}\d{4}[\dA-Z]{12} ' , // Andorra
41
- 'AE ' => 'AE\d{2}\d{3}\d{16} ' , // United Arab Emirates
42
- 'AL ' => 'AL\d{2}\d{8}[\dA-Z]{16} ' , // Albania
43
- 'AO ' => 'AO\d{2}\d{21} ' , // Angola
44
- 'AT ' => 'AT\d{2}\d{5}\d{11} ' , // Austria
45
- 'AX ' => 'FI\d{2}\d{6}\d{7}\d{1} ' , // Aland Islands
46
- 'AZ ' => 'AZ\d{2}[A-Z]{4}[\dA-Z]{20} ' , // Azerbaijan
47
- 'BA ' => 'BA\d{2}\d{3}\d{3}\d{8}\d{2} ' , // Bosnia and Herzegovina
48
- 'BE ' => 'BE\d{2}\d{3}\d{7}\d{2} ' , // Belgium
49
- 'BF ' => 'BF\d{2}\d{23} ' , // Burkina Faso
50
- 'BG ' => 'BG\d{2}[A-Z]{4}\d{4}\d{2}[\dA-Z]{8} ' , // Bulgaria
51
- 'BH ' => 'BH\d{2}[A-Z]{4}[\dA-Z]{14} ' , // Bahrain
52
- 'BI ' => 'BI\d{2}\d{12} ' , // Burundi
53
- 'BJ ' => 'BJ\d{2}[A-Z]{1}\d{23} ' , // Benin
54
- 'BY ' => 'BY\d{2}[\dA-Z]{4}\d{4}[\dA-Z]{16} ' , // Belarus - https://bank.codes/iban/structure/belarus/
55
- 'BL ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Saint Barthelemy
56
- 'BR ' => 'BR\d{2}\d{8}\d{5}\d{10}[A-Z][\dA-Z] ' , // Brazil
57
- 'CG ' => 'CG\d{2}\d{23} ' , // Congo
58
- 'CH ' => 'CH\d{2}\d{5}[\dA-Z]{12} ' , // Switzerland
59
- 'CI ' => 'CI\d{2}[A-Z]{1}\d{23} ' , // Ivory Coast
60
- 'CM ' => 'CM\d{2}\d{23} ' , // Cameron
61
- 'CR ' => 'CR\d{2}0\d{3}\d{14} ' , // Costa Rica
62
- 'CV ' => 'CV\d{2}\d{21} ' , // Cape Verde
63
- 'CY ' => 'CY\d{2}\d{3}\d{5}[\dA-Z]{16} ' , // Cyprus
64
- 'CZ ' => 'CZ\d{2}\d{20} ' , // Czech Republic
65
- 'DE ' => 'DE\d{2}\d{8}\d{10} ' , // Germany
66
- 'DO ' => 'DO\d{2}[\dA-Z]{4}\d{20} ' , // Dominican Republic
67
- 'DK ' => 'DK\d{2}\d{4}\d{10} ' , // Denmark
68
- 'DZ ' => 'DZ\d{2}\d{20} ' , // Algeria
69
- 'EE ' => 'EE\d{2}\d{2}\d{2}\d{11}\d{1} ' , // Estonia
70
- 'ES ' => 'ES\d{2}\d{4}\d{4}\d{1}\d{1}\d{10} ' , // Spain (also includes Canary Islands, Ceuta and Melilla)
71
- 'FI ' => 'FI\d{2}\d{6}\d{7}\d{1} ' , // Finland
72
- 'FO ' => 'FO\d{2}\d{4}\d{9}\d{1} ' , // Faroe Islands
73
- 'FR ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // France
74
- 'GF ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // French Guyana
75
- 'GB ' => 'GB\d{2}[A-Z]{4}\d{6}\d{8} ' , // United Kingdom of Great Britain and Northern Ireland
76
- 'GE ' => 'GE\d{2}[A-Z]{2}\d{16} ' , // Georgia
77
- 'GI ' => 'GI\d{2}[A-Z]{4}[\dA-Z]{15} ' , // Gibraltar
78
- 'GL ' => 'GL\d{2}\d{4}\d{9}\d{1} ' , // Greenland
79
- 'GP ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Guadeloupe
80
- 'GR ' => 'GR\d{2}\d{3}\d{4}[\dA-Z]{16} ' , // Greece
81
- 'GT ' => 'GT\d{2}[\dA-Z]{4}[\dA-Z]{20} ' , // Guatemala
82
- 'HR ' => 'HR\d{2}\d{7}\d{10} ' , // Croatia
83
- 'HU ' => 'HU\d{2}\d{3}\d{4}\d{1}\d{15}\d{1} ' , // Hungary
84
- 'IE ' => 'IE\d{2}[A-Z]{4}\d{6}\d{8} ' , // Ireland
85
- 'IL ' => 'IL\d{2}\d{3}\d{3}\d{13} ' , // Israel
86
- 'IR ' => 'IR\d{2}\d{22} ' , // Iran
87
- 'IS ' => 'IS\d{2}\d{4}\d{2}\d{6}\d{10} ' , // Iceland
88
- 'IT ' => 'IT\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12} ' , // Italy
89
- 'JO ' => 'JO\d{2}[A-Z]{4}\d{4}[\dA-Z]{18} ' , // Jordan
90
- 'KW ' => 'KW\d{2}[A-Z]{4}\d{22} ' , // KUWAIT
91
- 'KZ ' => 'KZ\d{2}\d{3}[\dA-Z]{13} ' , // Kazakhstan
92
- 'LB ' => 'LB\d{2}\d{4}[\dA-Z]{20} ' , // LEBANON
93
- 'LI ' => 'LI\d{2}\d{5}[\dA-Z]{12} ' , // Liechtenstein (Principality of)
94
- 'LT ' => 'LT\d{2}\d{5}\d{11} ' , // Lithuania
95
- 'LU ' => 'LU\d{2}\d{3}[\dA-Z]{13} ' , // Luxembourg
96
- 'LV ' => 'LV\d{2}[A-Z]{4}[\dA-Z]{13} ' , // Latvia
97
- 'MC ' => 'MC\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Monaco
98
- 'MD ' => 'MD\d{2}[\dA-Z]{2}[\dA-Z]{18} ' , // Moldova
99
- 'ME ' => 'ME\d{2}\d{3}\d{13}\d{2} ' , // Montenegro
100
- 'MF ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Saint Martin (French part)
101
- 'MG ' => 'MG\d{2}\d{23} ' , // Madagascar
102
- 'MK ' => 'MK\d{2}\d{3}[\dA-Z]{10}\d{2} ' , // Macedonia, Former Yugoslav Republic of
103
- 'ML ' => 'ML\d{2}[A-Z]{1}\d{23} ' , // Mali
104
- 'MQ ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Martinique
105
- 'MR ' => 'MR\d{2}\d{5}\d{5}\d{11}\d{2} ' , // Mauritania
106
- 'MT ' => 'MT\d{2}[A-Z]{4}\d{5}[\dA-Z]{18} ' , // Malta
107
- 'MU ' => 'MU\d{2}[A-Z]{4}\d{2}\d{2}\d{12}\d{3}[A-Z]{3} ' , // Mauritius
108
- 'MZ ' => 'MZ\d{2}\d{21} ' , // Mozambique
109
- 'NC ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // New Caledonia
110
- 'NL ' => 'NL\d{2}[A-Z]{4}\d{10} ' , // The Netherlands
111
- 'NO ' => 'NO\d{2}\d{4}\d{6}\d{1} ' , // Norway
112
- 'PF ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // French Polynesia
113
- 'PK ' => 'PK\d{2}[A-Z]{4}[\dA-Z]{16} ' , // Pakistan
114
- 'PL ' => 'PL\d{2}\d{8}\d{16} ' , // Poland
115
- 'PM ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Saint Pierre et Miquelon
116
- 'PS ' => 'PS\d{2}[A-Z]{4}[\dA-Z]{21} ' , // Palestine, State of
117
- 'PT ' => 'PT\d{2}\d{4}\d{4}\d{11}\d{2} ' , // Portugal (plus Azores and Madeira)
118
- 'QA ' => 'QA\d{2}[A-Z]{4}[\dA-Z]{21} ' , // Qatar
119
- 'RE ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Reunion
120
- 'RO ' => 'RO\d{2}[A-Z]{4}[\dA-Z]{16} ' , // Romania
121
- 'RS ' => 'RS\d{2}\d{3}\d{13}\d{2} ' , // Serbia
122
- 'SA ' => 'SA\d{2}\d{2}[\dA-Z]{18} ' , // Saudi Arabia
123
- 'SE ' => 'SE\d{2}\d{3}\d{16}\d{1} ' , // Sweden
124
- 'SI ' => 'SI\d{2}\d{5}\d{8}\d{2} ' , // Slovenia
125
- 'SK ' => 'SK\d{2}\d{4}\d{6}\d{10} ' , // Slovak Republic
126
- 'SM ' => 'SM\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12} ' , // San Marino
127
- 'SN ' => 'SN\d{2}[A-Z]{1}\d{23} ' , // Senegal
128
- 'TF ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // French Southern Territories
129
- 'TL ' => 'TL\d{2}\d{3}\d{14}\d{2} ' , // Timor-Leste
130
- 'TN ' => 'TN\d{2}\d{2}\d{3}\d{13}\d{2} ' , // Tunisia
131
- 'TR ' => 'TR\d{2}\d{5}[\dA-Z]{1}[\dA-Z]{16} ' , // Turkey
132
- 'UA ' => 'UA\d{2}\d{6}[\dA-Z]{19} ' , // Ukraine
133
- 'VA ' => 'VA\d{2}\d{3}\d{15} ' , // Vatican City State
134
- 'VG ' => 'VG\d{2}[A-Z]{4}\d{16} ' , // Virgin Islands, British
135
- 'WF ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Wallis and Futuna Islands
136
- 'XK ' => 'XK\d{2}\d{4}\d{10}\d{2} ' , // Republic of Kosovo
137
- 'YT ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' , // Mayotte
44
+ // auto-generated
45
+ 'AD ' => 'AD\d{2}\d{4}\d{4}[\dA-Z]{12} ' // Andorra,
46
+ 'AE ' => 'AE \d {2 }\d{3 }\d{16 }' // United Arab Emirates (The),
47
+ 'AL ' => 'AL\d{2}\d{8}[\dA-Z]{16} ' // Albania,
48
+ 'AO ' => 'AO \d {2 }\d{21 }' // Angola,
49
+ 'AT ' => 'AT\d{2}\d{5}\d{11} ' // Austria,
50
+ 'AX ' => 'FI \d {2 }\d{3 }\d{11 }' // Finland,
51
+ 'AZ ' => 'AZ\d{2}[A-Z]{4}[\dA-Z]{20} ' // Azerbaijan,
52
+ 'BA ' => 'BA \d {2 }\d{3 }\d{3 }\d{8 }\d{2 }' // Bosnia and Herzegovina,
53
+ 'BE ' => 'BE\d{2}\d{3}\d{7}\d{2} ' // Belgium,
54
+ 'BF ' => 'BF \d {2 }[\dA-Z]{2 }\d{22 }' // Burkina Faso,
55
+ 'BG ' => 'BG\d{2}[A-Z]{4}\d{4}\d{2}[\dA-Z]{8} ' // Bulgaria,
56
+ 'BH ' => 'BH \d {2 }[A-Z]{4 }[\dA-Z]{14 }' // Bahrain,
57
+ 'BI ' => 'BI\d{2}\d{5}\d{5}\d{11}\d{2} ' // Burundi,
58
+ 'BJ ' => 'BJ \d {2 }[\dA-Z]{2 }\d{22 }' // Benin,
59
+ 'BL ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
60
+ 'BR ' => 'BR \d {2 }\d{8 }\d{5 }\d{10 }[A-Z]{1 }[\dA-Z]{1 }' // Brazil,
61
+ 'BY ' => 'BY\d{2}[\dA-Z]{4}\d{4}[\dA-Z]{16} ' // Republic of Belarus,
62
+ 'CF ' => 'CF \d {2 }\d{23 }' // Central African Republic,
63
+ 'CG ' => 'CG\d{2}\d{23} ' // Congo, Republic of the,
64
+ 'CH ' => 'CH \d {2 }\d{5 }[\dA-Z]{12 }' // Switzerland,
65
+ 'CI ' => 'CI\d{2}[A-Z]{1}\d{23} ' // Côte d'Ivoire,
66
+ 'CM ' => 'CM \d {2 }\d{23 }' // Cameroon,
67
+ 'CR ' => 'CR\d{2}\d{4}\d{14} ' // Costa Rica,
68
+ 'CV ' => 'CV \d {2 }\d{21 }' // Cabo Verde,
69
+ 'CY ' => 'CY\d{2}\d{3}\d{5}[\dA-Z]{16} ' // Cyprus,
70
+ 'CZ ' => 'CZ \d {2 }\d{4 }\d{6 }\d{10 }' // Czechia,
71
+ 'DE ' => 'DE\d{2}\d{8}\d{10} ' // Germany,
72
+ 'DJ ' => 'DJ \d {2 }\d{5 }\d{5 }\d{11 }\d{2 }' // Djibouti,
73
+ 'DK ' => 'DK\d{2}\d{4}\d{9}\d{1} ' // Denmark,
74
+ 'DO ' => 'DO \d{2 }[\dA-Z]{4 }\d{20 }' // Dominican Republic,
75
+ 'DZ ' => 'DZ\d{2}\d{22} ' // Algeria,
76
+ 'EE ' => 'EE \d {2 }\d{2 }\d{2 }\d{11 }\d{1 }' // Estonia,
77
+ 'EG ' => 'EG\d{2}\d{4}\d{4}\d{17} ' // Egypt,
78
+ 'ES ' => 'ES \d {2 }\d{4 }\d{4 }\d{1 }\d{1 }\d{10 }' // Spain,
79
+ 'FI ' => 'FI\d{2}\d{3}\d{11} ' // Finland,
80
+ 'FO ' => 'FO \d {2 }\d{4 }\d{9 }\d{1 }' // Faroe Islands,
81
+ 'FR ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
82
+ 'GA ' => 'GA \d {2 }\d{23 }' // Gabon,
83
+ 'GB ' => 'GB\d{2}[A-Z]{4}\d{6}\d{8} ' // United Kingdom,
84
+ 'GE ' => 'GE \d {2 }[A-Z]{2 }\d{16 }' // Georgia,
85
+ 'GF ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
86
+ 'GG ' => 'GB \d {2 }[A-Z]{4 }\d{6 }\d{8 }' // United Kingdom,
87
+ 'GI ' => 'GI\d{2}[A-Z]{4}[\dA-Z]{15} ' // Gibraltar,
88
+ 'GL ' => 'GL \d {2 }\d{4 }\d{9 }\d{1 }' // Greenland,
89
+ 'GP ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
90
+ 'GQ ' => 'GQ \d {2 }\d{23 }' // Equatorial Guinea,
91
+ 'GR ' => 'GR\d{2}\d{3}\d{4}[\dA-Z]{16} ' // Greece,
92
+ 'GT ' => 'GT \d {2 }[\dA-Z]{4 }[\dA-Z]{20 }' // Guatemala,
93
+ 'GW ' => 'GW\d{2}[\dA-Z]{2}\d{19} ' // Guinea-Bissau,
94
+ 'HN ' => 'HN \d {2 }[A-Z]{4 }\d{20 }' // Honduras,
95
+ 'HR ' => 'HR\d{2}\d{7}\d{10} ' // Croatia,
96
+ 'HU ' => 'HU \d {2 }\d{3 }\d{4 }\d{1 }\d{15 }\d{1 }' // Hungary,
97
+ 'IE ' => 'IE\d{2}[A-Z]{4}\d{6}\d{8} ' // Ireland,
98
+ 'IL ' => 'IL \d {2 }\d{3 }\d{3 }\d{13 }' // Israel,
99
+ 'IM ' => 'GB\d{2}[A-Z]{4}\d{6}\d{8} ' // United Kingdom,
100
+ 'IQ ' => 'IQ \d {2 }[A-Z]{4 }\d{3 }\d{12 }' // Iraq,
101
+ 'IR ' => 'IR\d{2}\d{22} ' // Iran,
102
+ 'IS ' => 'IS \d {2 }\d{4 }\d{2 }\d{6 }\d{10 }' // Iceland,
103
+ 'IT ' => 'IT\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12} ' // Italy,
104
+ 'JE ' => 'GB \d {2 }[A-Z]{4 }\d{6 }\d{8 }' // United Kingdom,
105
+ 'JO ' => 'JO\d{2}[A-Z]{4}\d{4}[\dA-Z]{18} ' // Jordan,
106
+ 'KM ' => 'KM \d {2 }\d{23 }' // Comoros,
107
+ 'KW ' => 'KW\d{2}[A-Z]{4}[\dA-Z]{22} ' // Kuwait,
108
+ 'KZ ' => 'KZ \d {2 }\d{3 }[\dA-Z]{13 }' // Kazakhstan,
109
+ 'LB ' => 'LB\d{2}\d{4}[\dA-Z]{20} ' // Lebanon,
110
+ 'LC ' => 'LC \d {2 }[A-Z]{4 }[\dA-Z]{24 }' // Saint Lucia,
111
+ 'LI ' => 'LI\d{2}\d{5}[\dA-Z]{12} ' // Liechtenstein,
112
+ 'LT ' => 'LT \d {2 }\d{5 }\d{11 }' // Lithuania,
113
+ 'LU ' => 'LU\d{2}\d{3}[\dA-Z]{13} ' // Luxembourg,
114
+ 'LV ' => 'LV \d {2 }[A-Z]{4 }[\dA-Z]{13 }' // Latvia,
115
+ 'LY ' => 'LY\d{2}\d{3}\d{3}\d{15} ' // Libya,
116
+ 'MA ' => 'MA \d {2 }\d{24 }' // Morocco,
117
+ 'MC ' => 'MC\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // Monaco,
118
+ 'MD ' => 'MD \d {2 }[\dA-Z]{2 }[\dA-Z]{18 }' // Moldova,
119
+ 'ME ' => 'ME\d{2}\d{3}\d{13}\d{2} ' // Montenegro,
120
+ 'MF ' => 'FR \d {2 }\d{5 }\d{5 }[\dA-Z]{11 }\d{2 }' // France,
121
+ 'MG ' => 'MG\d{2}\d{23} ' // Madagascar,
122
+ 'MK ' => 'MK \d {2 }\d{3 }[\dA-Z]{10 }\d{2 }' // Macedonia,
123
+ 'ML ' => 'ML\d{2}[\dA-Z]{2}\d{22} ' // Mali,
124
+ 'MQ ' => 'FR \d {2 }\d{5 }\d{5 }[\dA-Z]{11 }\d{2 }' // France,
125
+ 'MR ' => 'MR\d{2}\d{5}\d{5}\d{11}\d{2} ' // Mauritania,
126
+ 'MT ' => 'MT \d {2 }[A-Z]{4 }\d{5 }[\dA-Z]{18 }' // Malta,
127
+ 'MU ' => 'MU\d{2}[A-Z]{4}\d{2}\d{2}\d{12}\d{3}[A-Z]{3} ' // Mauritius,
128
+ 'MZ ' => 'MZ \d {2 }\d{21 }' // Mozambique,
129
+ 'NC ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
130
+ 'NE ' => 'NE \d {2 }[A-Z]{2 }\d{22 }' // Niger,
131
+ 'NI ' => 'NI\d{2}[A-Z]{4}\d{24} ' // Nicaragua,
132
+ 'NL ' => 'NL \d {2 }[A-Z]{4 }\d{10 }' // Netherlands (The),
133
+ 'NO ' => 'NO\d{2}\d{4}\d{6}\d{1} ' // Norway,
134
+ 'PF ' => 'FR \d {2 }\d{5 }\d{5 }[\dA-Z]{11 }\d{2 }' // France,
135
+ 'PK ' => 'PK\d{2}[A-Z]{4}[\dA-Z]{16} ' // Pakistan,
136
+ 'PL ' => 'PL \d {2 }\d{8 }\d{16 }' // Poland,
137
+ 'PM ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
138
+ 'PS ' => 'PS \d {2 }[A-Z]{4 }[\dA-Z]{21 }' // Palestine, State of,
139
+ 'PT ' => 'PT\d{2}\d{4}\d{4}\d{11}\d{2} ' // Portugal,
140
+ 'QA ' => 'QA \d {2 }[A-Z]{4 }[\dA-Z]{21 }' // Qatar,
141
+ 'RE ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
142
+ 'RO ' => 'RO \d {2 }[A-Z]{4 }[\dA-Z]{16 }' // Romania,
143
+ 'RS ' => 'RS\d{2}\d{3}\d{13}\d{2} ' // Serbia,
144
+ 'RU ' => 'RU \d {2 }\d{9 }\d{5 }[\dA-Z]{15 }' // Russia,
145
+ 'SA ' => 'SA\d{2}\d{2}[\dA-Z]{18} ' // Saudi Arabia,
146
+ 'SC ' => 'SC \d {2 }[A-Z]{4 }\d{2 }\d{2 }\d{16 }[A-Z]{3 }' // Seychelles,
147
+ 'SD ' => 'SD\d{2}\d{2}\d{12} ' // Sudan,
148
+ 'SE ' => 'SE \d {2 }\d{3 }\d{16 }\d{1 }' // Sweden,
149
+ 'SI ' => 'SI\d{2}\d{5}\d{8}\d{2} ' // Slovenia,
150
+ 'SK ' => 'SK \d {2 }\d{4 }\d{6 }\d{10 }' // Slovakia,
151
+ 'SM ' => 'SM\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12} ' // San Marino,
152
+ 'SN ' => 'SN \d {2 }[A-Z]{2 }\d{22 }' // Senegal,
153
+ 'SO ' => 'SO\d{2}\d{4}\d{3}\d{12} ' // Somalia,
154
+ 'ST ' => 'ST \d {2 }\d{4 }\d{4 }\d{11 }\d{2 }' // Sao Tome and Principe,
155
+ 'SV ' => 'SV\d{2}[A-Z]{4}\d{20} ' // El Salvador,
156
+ 'TD ' => 'TD \d {2 }\d{23 }' // Chad,
157
+ 'TF ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
158
+ 'TG ' => 'TG \d {2 }[A-Z]{2 }\d{22 }' // Togo,
159
+ 'TL ' => 'TL\d{2}\d{3}\d{14}\d{2} ' // Timor-Leste,
160
+ 'TN ' => 'TN \d {2 }\d{2 }\d{3 }\d{13 }\d{2 }' // Tunisia,
161
+ 'TR ' => 'TR\d{2}\d{5}\d{1}[\dA-Z]{16} ' // Turkey,
162
+ 'UA ' => 'UA \d {2 }\d{6 }[\dA-Z]{19 }' // Ukraine,
163
+ 'VA ' => 'VA\d{2}\d{3}\d{15} ' // Vatican City State,
164
+ 'VG ' => 'VG \d {2 }[A-Z]{4 }\d{16 }' // Virgin Islands,
165
+ 'WF ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
166
+ 'XK ' => 'XK \d {2 }\d{4 }\d{10 }\d{2 }' // Kosovo,
167
+ 'YT ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2} ' // France,
138
168
];
139
169
140
170
/**
0 commit comments