สร้าง IBAN ที่เป็นไปตามรูปแบบแบบสุ่มหรือยืนยัน IBAN ที่มีอยู่แล้วด้วยเครื่องมือที่ง่ายของเรา เหมาะสำหรับการทดสอบแอปพลิเคชันทางการเงิน ซอฟต์แวร์ธนาคาร และวัตถุประสงค์ทางการศึกษา
เครื่องมือสร้างและตรวจสอบหมายเลขบัญชีธนาคารระหว่างประเทศ (IBAN) เป็นเครื่องมือที่ครอบคลุมซึ่งออกแบบมาเพื่อการทดสอบและการตรวจสอบในแอปพลิเคชันการเงิน ซอฟต์แวร์ธนาคาร และบริบทการศึกษา แอปพลิเคชันที่ใช้งานง่ายนี้มีฟีเจอร์ที่สำคัญสองอย่าง: การสร้าง IBAN แบบสุ่มที่เป็นไปตามรูปแบบและการตรวจสอบความสมบูรณ์ของโครงสร้างของ IBAN ที่ผู้ใช้ป้อน ไม่ว่าคุณจะเป็นนักพัฒนาที่ทดสอบซอฟต์แวร์การเงิน ผู้เชี่ยวชาญด้าน QA ที่ตรวจสอบแอปพลิเคชันธนาคาร หรือผู้สอนที่อธิบายมาตรฐานการธนาคารระหว่างประเทศ เครื่องมือนี้ให้โซลูชันที่ตรงไปตรงมาโดยไม่ต้องการการกำหนดค่าที่ซับซ้อนหรือการรวมระบบจากบุคคลที่สาม
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 ของเรามอบประสบการณ์ที่ราบรื่นสำหรับวัตถุประสงค์ในการทดสอบ แต่ก็มีแนวทางทางเลือกที่ควรพิจารณา:
เครื่องมือของเราช่วยเติมเต็มช่องว่างระหว่างทางเลือกเหล่านี้โดยให้ส่วนติดต่อที่เรียบง่ายและเข้าถึงได้สำหรับทั้งการสร้างและการตรวจสอบโดยไม่ต้องการการรวมระบบทางเทคนิคหรือการสมัครสมาชิกที่ต้องชำระเงิน
IBAN (หมายเลขบัญชีธนาคารระหว่างประเทศ) คือระบบหมายเลขมาตรฐานระหว่างประเทศที่พัฒนาขึ้นเพื่อระบุบัญชีธนาคารข้ามพรมแดน มันถูกจัดตั้งขึ้นโดยองค์การระหว่างประเทศเพื่อการมาตรฐาน (ISO) เพื่ออำนวยความสะดวกในการทำธุรกรรมระหว่างประเทศที่ปราศจากข้อผิดพลาด
เครื่องมือสร้าง IBAN สร้าง IBAN ที่มีโครงสร้างถูกต้องซึ่งผ่านอัลกอริธึมการตรวจสอบ MOD 97 ตามที่กำหนดในมาตรฐาน ISO 13616 แม้ว่า IBAN ที่สร้างขึ้นจะถูกต้องทางคณิตศาสตร์ แต่ก็เป็นแบบสุ่มและไม่เชื่อมโยงกับบัญชีธนาคารจริง ทำให้เหมาะสำหรับการทดสอบแต่ไม่เหมาะสำหรับการทำธุรกรรมจริง
เครื่องมือรองรับรูปแบบ IBAN สำหรับเยอรมนี สหราชอาณาจักร ฝรั่งเศส สเปน อิตาลี เนเธอร์แลนด์ สวิตเซอร์แลนด์ ออสเตรีย เบลเยียม และโปแลนด์ ซึ่งครอบคลุมรูปแบบ IBAN ที่ใช้กันมากที่สุดในยุโรป
ไม่ IBAN ที่สร้างขึ้นโดยเครื่องมือนี้มีโครงสร้างที่ถูกต้องแต่ถูกสร้างแบบสุ่ม พวกเขาไม่ได้เชื่อมต่อกับบัญชีธนาคารจริงและควรใช้สำหรับการทดสอบ การศึกษา หรือการสาธิตเท่านั้น
ตัวตรวจสอบจะตรวจสอบหลายแง่มุมของ IBAN:
ไม่ ช่องว่างใน IBAN มักจะแสดงด้วยช่องว่างเพื่อความสามารถในการอ่าน (โดยปกติในกลุ่มตัวอักษรสี่ตัว) แต่ช่องว่างจะถูกละเว้นระหว่างการตรวจสอบ เครื่องมือของเราจัดการกับ IBAN ที่จัดรูปแบบและไม่มีการจัดรูปแบบ
ไม่ เครื่องมือนี้ทำงานทั้งหมดในเบราว์เซอร์ของคุณ ไม่มีข้อมูล IBAN ถูกส่งไปยังเซิร์ฟเวอร์ใด ๆ เก็บรักษา หรือแชร์กับบุคคลที่สาม ข้อมูลของคุณยังคงเป็นส่วนตัวและปลอดภัย
ในขณะนี้ เครื่องมือนี้ตรวจสอบ IBAN จากประเทศที่รองรับในรายการดรอปดาวน์เท่านั้น หากคุณต้องการการตรวจสอบสำหรับประเทศเพิ่มเติม โปรดแจ้งให้เราทราบผ่านแบบฟอร์มข้อเสนอแนะ
IBAN อาจล้มเหลวในการตรวจสอบด้วยเหตุผลหลายประการ:
เรายินดีรับข้อเสนอแนะแบบเพื่อปรับปรุงเครื่องมือ กรุณาใช้แบบฟอร์มข้อเสนอแนะที่สามารถเข้าถึงได้ผ่านลิงก์ที่ด้านล่างของหน้าเพื่อตรวจสอบปัญหาหรือเสนอการปรับปรุง
สำหรับนักพัฒนาที่สนใจในการดำเนินการตรวจสอบและสร้าง IBAN ในแอปพลิเคชันของตน นี่คือตัวอย่างโค้ดในภาษาต่างๆ:
1function validateIban(iban) {
2 // Remove spaces and convert to uppercase
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Check basic format
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Rearrange and convert letters to numbers
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 const converted = rearranged.split('').map(char => {
13 if (/[A-Z]/.test(char)) {
14 return (char.charCodeAt(0) - 55).toString();
15 }
16 return char;
17 }).join('');
18
19 // Calculate mod 97
20 let remainder = 0;
21 for (let i = 0; i < converted.length; i++) {
22 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
23 }
24
25 return remainder === 1;
26}
27
28// Example usage
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (invalid check digits)
32
1def validate_iban(iban):
2 # Remove spaces and convert to uppercase
3 iban = iban.replace(' ', '').upper()
4
5 # Basic format check
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Move first 4 characters to the end
10 rearranged = iban[4:] + iban[:4]
11
12 # Convert letters to numbers (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 # Check if mod 97 equals 1
21 return int(converted) % 97 == 1
22
23# Example usage
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 (invalid check digits)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Remove spaces and convert to uppercase
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Basic format check
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Move first 4 characters to the end
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Convert letters to numbers
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 // Calculate mod 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 // Add more countries as needed
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Country code ${countryCode} not supported`);
11 }
12
13 // Generate random BBAN based on country pattern
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 // Generate numeric characters
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generate alphabetic characters
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 // Generate alphanumeric characters
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 // Calculate check digits
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Create initial IBAN with '00' as check digits
55 const initialIban = countryCode + '00' + bban;
56
57 // Rearrange and convert letters to numbers
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 // Calculate 98 minus mod 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// Example usage
77console.log(generateIban('DE')); // Generates a valid German IBAN
78console.log(generateIban('GB')); // Generates a valid UK 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 # Add more countries as needed
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Country code {country_code} not supported")
14
15 # Generate random BBAN based on country format
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': # Numeric
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Alphabetic
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alphanumeric
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Calculate check digits
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 # Create string for check digit calculation
40 check_string = bban + country_code + '00'
41
42 # Convert letters to numbers (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 # Calculate 98 minus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Example usage
57print(generate_iban('DE')) # Generates a valid German IBAN
58print(generate_iban('GB')) # Generates a valid UK IBAN
59
เครื่องมือสร้างและตรวจสอบ IBAN นำเสนอวิธีการที่ง่ายและมีประสิทธิภาพสำหรับการทดสอบและวัตถุประสงค์ทางการศึกษาที่เกี่ยวข้องกับตัวระบุธนาคารระหว่างประเทศ โดยการเสนอความสามารถทั้งในการสร้างและการตรวจสอบในส่วนติดต่อที่ใช้งานง่าย มันช่วยขจัดความจำเป็นในการกำหนดค่าอย่างซับซ้อนหรือการรวมระบบจากบุคคลที่สาม
ไม่ว่าคุณจะพัฒนาแอปพลิเคชันการเงิน ทดสอบระบบการชำระเงิน หรือเรียนรู้เกี่ยวกับมาตรฐานการธนาคารระหว่างประเทศ เครื่องมือนี้เสนอวิธีการที่ตรงไปตรงมาในการทำงานกับ IBAN การตรวจสอบอย่างครอบคลุมช่วยให้แน่ใจว่า IBAN ที่สร้างขึ้นทั้งหมดมีความสมบูรณ์ตามโครงสร้างและปฏิบัติตามมาตรฐานระหว่างประเทศ
ลองสร้างหรือตรวจสอบ IBAN ตอนนี้เพื่อสัมผัสกับความสามารถของเครื่องมือด้วยตัวคุณเอง!
ค้นพบเครื่องมือเพิ่มเติมที่อาจมีประโยชน์สำหรับการทำงานของคุณ