Створюйте випадкові IBAN, що відповідають формату, або перевіряйте існуючі за допомогою нашого простого інструмента. Ідеально підходить для тестування фінансових додатків, банківського програмного забезпечення та навчальних цілей.
Міжнародний номер банківського рахунку (IBAN) Генератор і Валідатор — це комплексний інструмент, призначений для тестування та перевірки в фінансових додатках, банківському програмному забезпеченні та освітніх контекстах. Ця зручна програма пропонує дві основні функції: генерування випадкових, але відповідних формату IBAN і перевірка структурної цілісності введених користувачем IBAN. Чи ви розробник, що тестує фінансове програмне забезпечення, спеціаліст з контролю якості, що перевіряє банківські програми, чи викладач, що пояснює міжнародні банківські стандарти, цей інструмент надає просте рішення без необхідності складних налаштувань або інтеграцій з третіх сторін.
IBAN (міжнародні номери банківських рахунків) — це стандартизовані ідентифікатори рахунків, які використовуються міжнародно для полегшення трансакцій через кордони та зменшення помилок у міжнародних грошових переказах. Кожен IBAN складається з коду країни, контрольних цифр та основного номера банківського рахунку (BBAN), що відповідає специфічним формам країни. Наш інструмент підтримує кілька форматів країн і забезпечує, щоб усі згенеровані IBAN проходили алгоритм перевірки MOD 97, зазначений у стандарті ISO 13616.
IBAN складається з до 34 алфавітно-цифрових символів, хоча точна довжина варіюється в залежності від країни. Стандартна структура включає:
Наприклад, німецький IBAN має структуру DE2!n8!n10!n
, де:
DE
— це код країни2!n
представляє дві числові контрольні цифри8!n
представляє восьмизначний код банку10!n
представляє десятизначний номер рахункуРізні країни мають різні формати BBAN, що призводить до різної довжини IBAN:
Країна | Довжина | Структура | Приклад |
---|---|---|---|
Німеччина (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Великобританія (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Франція (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Іспанія (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Італія (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Процес перевірки IBAN використовує алгоритм MOD 97, як зазначено в стандарті ISO 7064. Ось як це працює:
Математично це представляється як:
Наш валідатор реалізує цей алгоритм для перевірки структурної цілісності будь-якого IBAN, введеного користувачами.
Генератор IBAN створює випадкові, але дійсні IBAN для тестування. Основні функції включають:
Генератор створює IBAN, виконуючи:
Валідатор IBAN перевіряє структурну цілісність введених користувачем IBAN. Основні функції включають:
Валідатор виконує кілька перевірок:
Інструмент Генератора і Валідатора IBAN слугує кількома цілям у різних сферах:
Хоча наш інструмент Генератора і Валідатора IBAN пропонує спрощений досвід для тестування, є альтернативні підходи, які слід врахувати:
Наш інструмент заповнює прогалину між цими альтернативами, надаючи простий, доступний інтерфейс для генерації та перевірки без необхідності технічної інтеграції або платних підписок.
IBAN (міжнародний номер банківського рахунку) — це стандартизована міжнародна система нумерації, розроблена для ідентифікації банківських рахунків через національні кордони. Вона була встановлена Міжнародною організацією зі стандартизації (ISO) для полегшення безпомилкових міжнародних транзакцій.
Генератор IBAN створює структурно дійсні IBAN, які проходять алгоритм перевірки MOD 97, як зазначено в стандарті ISO 13616. Хоча згенеровані IBAN є математично дійсними, вони випадкові і не пов'язані з реальними банківськими рахунками, що робить їх ідеальними для тестування, але не для реальних транзакцій.
Інструмент наразі підтримує формати IBAN для Німеччини, Великої Британії, Франції, Іспанії, Італії, Нідерландів, Швейцарії, Австрії, Бельгії та Польщі. Це охоплює найбільш поширені формати IBAN у Європі.
Ні. IBAN, створені цим генератором, є структурно дійсними, але випадковими. Вони не пов'язані з реальними банківськими рахунками і повинні використовуватися лише для тестування, навчальних або демонстраційних цілей.
Валідатор перевіряє кілька аспектів IBAN:
Ні. Хоча IBAN часто відображаються з пробілами для зручності читання (зазвичай групами по чотири символи), пробіли ігноруються під час перевірки. Наш інструмент обробляє як форматовані (з пробілами), так і неформатовані IBAN.
Ні. Цей інструмент працює повністю у вашому браузері. Жодні дані IBAN не надсилаються на сервер, не зберігаються і не діляться з третіми сторонами. Ваші дані залишаються приватними та захищеними.
Наразі інструмент перевіряє лише IBAN з підтримуваних країн, зазначених у спадному списку. Якщо вам потрібно перевірити IBAN для додаткових країн, будь ласка, дайте нам знати через форму зворотного зв'язку.
IBAN може не пройти перевірку з кількох причин:
Ми вітаємо відгуки для покращення інструменту. Будь ласка, використовуйте форму зворотного зв'язку, доступну через посилання внизу сторінки, щоб повідомити про будь-які проблеми або запропонувати вдосконалення.
Для розробників, які зацікавлені в реалізації перевірки та генерації IBAN у своїх додатках, ось приклади коду на різних мовах програмування:
1function validateIban(iban) {
2 // Видалити пробіли та перетворити на верхній регістр
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Перевірка базового формату
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Перемістити перші 4 символи в кінець
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 // Перетворити літери в числа
13 const converted = rearranged.split('').map(char => {
14 if (/[A-Z]/.test(char)) {
15 return (char.charCodeAt(0) - 55).toString();
16 }
17 return char;
18 }).join('');
19
20 // Обчислити модуль 97
21 let remainder = 0;
22 for (let i = 0; i < converted.length; i++) {
23 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
24 }
25
26 return remainder === 1;
27}
28
29// Приклад використання
30console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
31console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
32console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (недійсні контрольні цифри)
33
1def validate_iban(iban):
2 # Видалити пробіли та перетворити на верхній регістр
3 iban = iban.replace(' ', '').upper()
4
5 # Перевірка базового формату
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Перемістити перші 4 символи в кінець
10 rearranged = iban[4:] + iban[:4]
11
12 # Перетворити літери в числа (A=10, B=11, ..., Z=35)
13 converted = ''
14 for char in rearranged:
15 if char.isalpha():
16 converted += str(ord(char) - 55)
17 else:
18 converted += char
19
20 # Перевірити, чи модуль 97 дорівнює 1
21 return int(converted) % 97 == 1
22
23# Приклад використання
24print(validate_iban('DE89 3704 0044 0532 0130 00')) # True
25print(validate_iban('GB29 NWBK 6016 1331 9268 19')) # True
26print(validate_iban('DE89 3704 0044 0532 0130 01')) # False (недійсні контрольні цифри)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Видалити пробіли та перетворити на верхній регістр
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Перевірка базового формату
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Перемістити перші 4 символи в кінець
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Перетворити літери в числа
15 StringBuilder converted = new StringBuilder();
16 for (char c : rearranged.toCharArray()) {
17 if (Character.isLetter(c)) {
18 converted.append(c - 'A' + 10);
19 } else {
20 converted.append(c);
21 }
22 }
23
24 // Обчислити модуль 97
25 BigInteger numeric = new BigInteger(converted.toString());
26 return numeric.mod(BigInteger.valueOf(97)).intValue() == 1;
27 }
28
29 public static void main(String[] args) {
30 System.out.println(validateIban("DE89 3704 0044 0532 0130 00")); // true
31 System.out.println(validateIban("GB29 NWBK 6016 1331 9268 19")); // true
32 System.out.println(validateIban("DE89 3704 0044 0532 0130 01")); // false
33 }
34}
35
1function generateIban(countryCode) {
2 const countryFormats = {
3 'DE': { length: 22, bbanPattern: '8n10n' },
4 'GB': { length: 22, bbanPattern: '4a6n8n' },
5 'FR': { length: 27, bbanPattern: '5n5n11c2n' }
6 // Додайте більше країн за потреби
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Код країни ${countryCode} не підтримується`);
11 }
12
13 // Генерувати випадковий BBAN на основі формату країни
14 let bban = '';
15 const pattern = countryFormats[countryCode].bbanPattern;
16 let i = 0;
17
18 while (i < pattern.length) {
19 const count = parseInt(pattern.substring(i + 1), 10);
20 const type = pattern[i];
21
22 if (type === 'n') {
23 // Генерувати числові символи
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Генерувати алфавітні символи
29 for (let j = 0; j < count; j++) {
30 bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
31 }
32 } else if (type === 'c') {
33 // Генерувати алфавітно-цифрові символи
34 for (let j = 0; j < count; j++) {
35 const isLetter = Math.random() > 0.5;
36 if (isLetter) {
37 bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
38 } else {
39 bban += Math.floor(Math.random() * 10);
40 }
41 }
42 }
43
44 i += 2;
45 }
46
47 // Обчислити контрольні цифри
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Створити початковий IBAN з '00' як контрольні цифри
55 const initialIban = countryCode + '00' + bban;
56
57 // Перемістити та перетворити літери в числа
58 const rearranged = bban + countryCode + '00';
59 const converted = rearranged.split('').map(char => {
60 if (/[A-Z]/.test(char)) {
61 return (char.charCodeAt(0) - 55).toString();
62 }
63 return char;
64 }).join('');
65
66 // Обчислити 98 мінус модуль 97
67 let remainder = 0;
68 for (let i = 0; i < converted.length; i++) {
69 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
70 }
71
72 const checkDigits = (98 - remainder).toString().padStart(2, '0');
73 return checkDigits;
74}
75
76// Приклад використання
77console.log(generateIban('DE')); // Генерує дійсний німецький IBAN
78console.log(generateIban('GB')); // Генерує дійсний IBAN Великої Британії
79
1import random
2import string
3
4def generate_iban(country_code):
5 country_formats = {
6 'DE': {'length': 22, 'bban_format': '8n10n'},
7 'GB': {'length': 22, 'bban_format': '4a6n8n'},
8 'FR': {'length': 27, 'bban_format': '5n5n11c2n'}
9 # Додайте більше країн за потреби
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Код країни {country_code} не підтримується")
14
15 # Генерувати випадковий BBAN на основі формату країни
16 bban = ''
17 format_str = country_formats[country_code]['bban_format']
18 i = 0
19
20 while i < len(format_str):
21 count = int(''.join(c for c in format_str[i+1:] if c.isdigit()))
22 type_char = format_str[i]
23
24 if type_char == 'n': # Числовий
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Алфавітний
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Алфавітно-цифровий
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Обчислити контрольні цифри
34 check_digits = calculate_check_digits(country_code, bban)
35
36 return country_code + check_digits + bban
37
38def calculate_check_digits(country_code, bban):
39 # Створити рядок для обчислення контрольних цифр
40 check_string = bban + country_code + '00'
41
42 # Перетворити літери в числа (A=10, B=11, ..., Z=35)
43 numeric = ''
44 for char in check_string:
45 if char.isalpha():
46 numeric += str(ord(char.upper()) - 55)
47 else:
48 numeric += char
49
50 # Обчислити 98 мінус модуль 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Приклад використання
57print(generate_iban('DE')) # Генерує дійсний німецький IBAN
58print(generate_iban('GB')) # Генерує дійсний IBAN Великої Британії
59
Інструмент Генератора і Валідатора IBAN надає просте, але потужне рішення для тестування та освітніх цілей, пов'язаних з міжнародними банківськими ідентифікаторами. Пропонуючи як можливості генерації, так і перевірки в зручному інтерфейсі, він усуває необхідність у складних налаштуваннях або інтеграціях з третіх сторін.
Чи ви розробляєте фінансові додатки, тестуєте платіжні системи або вивчаєте міжнародні банківські стандарти, цей інструмент пропонує простий спосіб роботи з IBAN. Комплексна перевірка забезпечує, що всі згенеровані IBAN є структурно правильними та відповідають міжнародним стандартам.
Спробуйте згенерувати або перевірити IBAN зараз, щоб на власному досвіді оцінити можливості інструменту!
Відкрийте більше інструментів, які можуть бути корисними для вашого робочого процесу