Skip to content

Commit 00e7efa

Browse files
authored
Made IBANs uppercase only. IBANs, while technically capable of being lowercase, should normally be uppercase. (#1529)
1 parent 77c2886 commit 00e7efa

File tree

2 files changed

+37
-37
lines changed

2 files changed

+37
-37
lines changed

src/main/java/net/datafaker/providers/base/Finance.java

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -185,80 +185,80 @@ private static Map<String, String> createCountryCodeToBasicBankAccountNumberPatt
185185
// source: https://www.swift.com/standards/data-standards/iban
186186
// version 87
187187
Map<String, String> ibanFormats = new HashMap<>();
188-
ibanFormats.put("AD", "\\d{4}\\d{4}[0-9A-Za-z]{12}");
188+
ibanFormats.put("AD", "\\d{4}\\d{4}[0-9A-Z]{12}");
189189
ibanFormats.put("AE", "\\d{3}\\d{16}");
190-
ibanFormats.put("AL", "\\d{8}[0-9A-Za-z]{16}");
190+
ibanFormats.put("AL", "\\d{8}[0-9A-Z]{16}");
191191
ibanFormats.put("AT", "\\d{5}\\d{11}");
192-
ibanFormats.put("AZ", "[A-Z]{4}[0-9A-Za-z]{20}");
192+
ibanFormats.put("AZ", "[A-Z]{4}[0-9A-Z]{20}");
193193
ibanFormats.put("BA", "\\d{3}\\d{3}\\d{8}\\d{2}");
194194
ibanFormats.put("BE", "\\d{3}\\d{7}\\d{2}");
195-
ibanFormats.put("BG", "[A-Z]{4}\\d{4}\\d{2}[0-9A-Za-z]{8}");
196-
ibanFormats.put("BH", "[A-Z]{4}[0-9A-Za-z]{14}");
197-
ibanFormats.put("BR", "\\d{8}\\d{5}\\d{10}[A-Z]{1}[0-9A-Za-z]{1}");
198-
ibanFormats.put("BY", "[0-9A-Za-z]{4}\\d{4}[0-9A-Za-z]{16}");
199-
ibanFormats.put("CH", "\\d{5}[0-9A-Za-z]{12}");
195+
ibanFormats.put("BG", "[A-Z]{4}\\d{4}\\d{2}[0-9A-Z]{8}");
196+
ibanFormats.put("BH", "[A-Z]{4}[0-9A-Z]{14}");
197+
ibanFormats.put("BR", "\\d{8}\\d{5}\\d{10}[A-Z]{1}[0-9A-Z]{1}");
198+
ibanFormats.put("BY", "[0-9A-Z]{4}\\d{4}[0-9A-Z]{16}");
199+
ibanFormats.put("CH", "\\d{5}[0-9A-Z]{12}");
200200
ibanFormats.put("CR", "0\\d{3}\\d{14}");
201-
ibanFormats.put("CY", "\\d{3}\\d{5}[0-9A-Za-z]{16}");
201+
ibanFormats.put("CY", "\\d{3}\\d{5}[0-9A-Z]{16}");
202202
ibanFormats.put("CZ", "\\d{4}\\d{6}\\d{10}");
203203
ibanFormats.put("DE", "\\d{8}\\d{10}");
204204
ibanFormats.put("DK", "\\d{4}\\d{9}\\d{1}");
205-
ibanFormats.put("DO", "[0-9A-Za-z]{4}\\d{20}");
205+
ibanFormats.put("DO", "[0-9A-Z]{4}\\d{20}");
206206
ibanFormats.put("EE", "\\d{2}\\d{2}\\d{11}\\d{1}");
207207
ibanFormats.put("EG", "\\d{4}\\d{4}\\d{17}");
208208
ibanFormats.put("ES", "\\d{4}\\d{4}\\d{1}\\d{1}\\d{10}");
209209
ibanFormats.put("FI", "\\d{6}\\d{7}\\d{1}");
210210
ibanFormats.put("FO", "\\d{4}\\d{9}\\d{1}");
211-
ibanFormats.put("FR", "\\d{5}\\d{5}[0-9A-Za-z]{11}\\d{2}");
211+
ibanFormats.put("FR", "\\d{5}\\d{5}[0-9A-Z]{11}\\d{2}");
212212
ibanFormats.put("GB", "[A-Z]{4}\\d{6}\\d{8}");
213213
ibanFormats.put("GE", "[A-Z]{2}\\d{16}");
214-
ibanFormats.put("GI", "[A-Z]{4}[0-9A-Za-z]{15}");
214+
ibanFormats.put("GI", "[A-Z]{4}[0-9A-Z]{15}");
215215
ibanFormats.put("GL", "\\d{4}\\d{9}\\d{1}");
216-
ibanFormats.put("GR", "\\d{3}\\d{4}[0-9A-Za-z]{16}");
217-
ibanFormats.put("GT", "[0-9A-Za-z]{4}[0-9A-Za-z]{20}");
216+
ibanFormats.put("GR", "\\d{3}\\d{4}[0-9A-Z]{16}");
217+
ibanFormats.put("GT", "[0-9A-Z]{4}[0-9A-Z]{20}");
218218
ibanFormats.put("HR", "\\d{7}\\d{10}");
219219
ibanFormats.put("HU", "\\d{3}\\d{4}\\d{1}\\d{15}\\d{1}");
220220
ibanFormats.put("IE", "[A-Z]{4}\\d{6}\\d{8}");
221221
ibanFormats.put("IL", "\\d{3}\\d{3}\\d{13}");
222222
ibanFormats.put("IQ", "[A-Z]{4}\\d{3}\\d{12}");
223223
ibanFormats.put("IS", "\\d{4}\\d{2}\\d{6}\\d{10}");
224-
ibanFormats.put("IT", "[A-Z]{1}\\d{5}\\d{5}[0-9A-Za-z]{12}");
225-
ibanFormats.put("JO", "[A-Z]{4}\\d{4}[0-9A-Za-z]{18}");
226-
ibanFormats.put("KW", "[A-Z]{4}[0-9A-Za-z]{22}");
227-
ibanFormats.put("KZ", "\\d{3}[0-9A-Za-z]{13}");
228-
ibanFormats.put("LB", "\\d{4}[0-9A-Za-z]{20}");
229-
ibanFormats.put("LC", "[A-Z]{4}[0-9A-Za-z]{24}");
230-
ibanFormats.put("LI", "\\d{5}[0-9A-Za-z]{12}");
224+
ibanFormats.put("IT", "[A-Z]{1}\\d{5}\\d{5}[0-9A-Z]{12}");
225+
ibanFormats.put("JO", "[A-Z]{4}\\d{4}[0-9A-Z]{18}");
226+
ibanFormats.put("KW", "[A-Z]{4}[0-9A-Z]{22}");
227+
ibanFormats.put("KZ", "\\d{3}[0-9A-Z]{13}");
228+
ibanFormats.put("LB", "\\d{4}[0-9A-Z]{20}");
229+
ibanFormats.put("LC", "[A-Z]{4}[0-9A-Z]{24}");
230+
ibanFormats.put("LI", "\\d{5}[0-9A-Z]{12}");
231231
ibanFormats.put("LT", "\\d{5}\\d{11}");
232-
ibanFormats.put("LU", "\\d{3}[0-9A-Za-z]{13}");
233-
ibanFormats.put("LV", "[A-Z]{4}[0-9A-Za-z]{13}");
234-
ibanFormats.put("MC", "\\d{5}\\d{5}[0-9A-Za-z]{11}\\d{2}");
235-
ibanFormats.put("MD", "[0-9A-Za-z]{2}[0-9A-Za-z]{18}");
232+
ibanFormats.put("LU", "\\d{3}[0-9A-Z]{13}");
233+
ibanFormats.put("LV", "[A-Z]{4}[0-9A-Z]{13}");
234+
ibanFormats.put("MC", "\\d{5}\\d{5}[0-9A-Z]{11}\\d{2}");
235+
ibanFormats.put("MD", "[0-9A-Z]{2}[0-9A-Z]{18}");
236236
ibanFormats.put("ME", "\\d{3}\\d{13}\\d{2}");
237-
ibanFormats.put("MK", "\\d{3}[0-9A-Za-z]{10}\\d{2}");
237+
ibanFormats.put("MK", "\\d{3}[0-9A-Z]{10}\\d{2}");
238238
ibanFormats.put("MR", "\\d{5}\\d{5}\\d{11}\\d{2}");
239-
ibanFormats.put("MT", "[A-Z]{4}\\d{5}[0-9A-Za-z]{18}");
239+
ibanFormats.put("MT", "[A-Z]{4}\\d{5}[0-9A-Z]{18}");
240240
ibanFormats.put("MU", "[A-Z]{4}\\d{2}\\d{2}\\d{12}\\d{3}[A-Z]{3}");
241241
ibanFormats.put("NL", "[A-Z]{4}\\d{10}");
242242
ibanFormats.put("NO", "\\d{4}\\d{6}\\d{1}");
243-
ibanFormats.put("PK", "[A-Z]{4}[0-9A-Za-z]{16}");
243+
ibanFormats.put("PK", "[A-Z]{4}[0-9A-Z]{16}");
244244
ibanFormats.put("PL", "\\d{8}\\d{16}");
245-
ibanFormats.put("PS", "[A-Z]{4}[0-9A-Za-z]{21}");
245+
ibanFormats.put("PS", "[A-Z]{4}[0-9A-Z]{21}");
246246
ibanFormats.put("PT", "\\d{4}\\d{4}\\d{11}\\d{2}");
247-
ibanFormats.put("QA", "[A-Z]{4}[0-9A-Za-z]{21}");
248-
ibanFormats.put("RO", "[A-Z]{4}[0-9A-Za-z]{16}");
247+
ibanFormats.put("QA", "[A-Z]{4}[0-9A-Z]{21}");
248+
ibanFormats.put("RO", "[A-Z]{4}[0-9A-Z]{16}");
249249
ibanFormats.put("RS", "\\d{3}\\d{13}\\d{2}");
250-
ibanFormats.put("SA", "\\d{2}[0-9A-Za-z]{18}");
251-
ibanFormats.put("SC", "[A-Z]{4}d{2}\\d{2}\\d{16}[A-Z]{3}");
250+
ibanFormats.put("SA", "\\d{2}[0-9A-Z]{18}");
251+
ibanFormats.put("SC", "[A-Z]{4}\\d{2}\\d{2}\\d{16}[A-Z]{3}");
252252
ibanFormats.put("SE", "\\d{3}\\d{16}\\d{1}");
253253
ibanFormats.put("SI", "\\d{5}\\d{8}\\d{2}");
254254
ibanFormats.put("SK", "\\d{4}\\d{6}\\d{10}");
255-
ibanFormats.put("SM", "[A-Z]{1}\\d{5}\\d{5}[0-9A-Za-z]{12}");
255+
ibanFormats.put("SM", "[A-Z]{1}\\d{5}\\d{5}[0-9A-Z]{12}");
256256
ibanFormats.put("ST", "\\d{8}\\d{11}\\d{2}");
257257
ibanFormats.put("SV", "[A-Z]{4}\\d{20}");
258258
ibanFormats.put("TL", "\\d{3}\\d{14}\\d{2}");
259259
ibanFormats.put("TN", "\\d{2}\\d{3}\\d{13}\\d{2}");
260-
ibanFormats.put("TR", "\\d{5}\\d{1}[0-9A-Za-z]{16}");
261-
ibanFormats.put("UA", "\\d{6}[0-9A-Za-z]{19}");
260+
ibanFormats.put("TR", "\\d{5}\\d{1}[0-9A-Z]{16}");
261+
ibanFormats.put("UA", "\\d{6}[0-9A-Z]{19}");
262262
ibanFormats.put("VA", "\\d{3}\\d{15}");
263263
ibanFormats.put("VG", "[A-Z]{4}\\d{16}");
264264
ibanFormats.put("XK", "\\d{4}\\d{10}\\d{2}");

src/test/java/net/datafaker/providers/base/FinanceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ void bic() {
4848

4949
@RepeatedTest(100)
5050
void iban() {
51-
assertThat(finance.iban()).matches("[A-Z]{2}\\p{Alnum}{13,30}");
51+
assertThat(finance.iban()).matches("[A-Z]{2}[A-Z0-9]{13,30}");
5252
}
5353

5454
@Test

0 commit comments

Comments
 (0)