எங்கள் எளிய கருவியைப் பயன்படுத்தி சீரான வடிவத்திற்கேற்ப IBANகளை உருவாக்கவும் அல்லது உள்ள IBANகளை சரிபார்க்கவும். நிதி பயன்பாடுகள், வங்கி மென்பொருள் மற்றும் கல்வி நோக்கங்களுக்கு சிறந்தது.
அந்த சர்வதேச வங்கி கணக்கு எண் (IBAN) உருவாக்கி மற்றும் சரிபார்க்கும் கருவி, நிதி பயன்பாடுகள், வங்கி மென்பொருள் மற்றும் கல்வி சூழல்களில் சோதனை மற்றும் சரிபார்ப்பு நோக்கத்திற்காக வடிவமைக்கப்பட்ட ஒரு முழுமையான கருவி ஆகும். இந்த பயனர் நட்பு பயன்பாடு இரண்டு அடிப்படையான அம்சங்களை வழங்குகிறது: சீரான ஆனால் வடிவமைப்பு ஒத்த IBAN களை உருவாக்குதல் மற்றும் பயனர் உள்ளீட்டில் உள்ள IBAN களின் கட்டமைப்பு சீர்திருத்தத்தை சரிபார்க்குதல். நீங்கள் நிதி மென்பொருளை சோதிக்கிறdeveloper, வங்கி பயன்பாடுகளை சரிபார்க்கும் QA நிபுணர், அல்லது சர்வதேச வங்கி தரநிலைகளை விளக்குகிற கல்வியாளர் என்றால், இந்த கருவி சிக்கலான கட்டமைப்புகள் அல்லது மூன்றாம் தரப்பின் ஒருங்கிணைப்புகளை தேவையில்லாமல் ஒரு நேர்த்தியான தீர்வை வழங்குகிறது.
IBAN கள் (சர்வதேச வங்கி கணக்கு எண்கள்) உலகளாவியமாகப் பயன்படுத்தப்படும் கணக்கு அடையாளங்கள் ஆகும், இது கடன் பரிமாற்றங்களை எளிதாக்குவதற்கும் சர்வதேச பண பரிமாற்றங்களில் பிழைகளை குறைப்பதற்கும் உதவுகிறது. ஒவ்வொரு IBAN களும் ஒரு நாட்டின் குறியீடு, சரிபார்ப்பு எண்கள் மற்றும் நாட்டுக்கு தனிப்பட்ட வடிவங்களைப் பின்பற்றும் அடிப்படையிலான வங்கி கணக்கு எண்ணை (BBAN) கொண்டுள்ளது. எங்கள் கருவி பல நாட்டின் வடிவங்களை ஆதரிக்கிறது மற்றும் அனைத்து உருவாக்கப்பட்ட IBAN களும் ISO 13616 தரநிலையின் கீழ் குறிப்பிடப்பட்ட MOD 97 சரிபார்ப்பு அல்காரிதம் கடந்து செல்லும் என்பதை உறுதி செய்கிறது.
ஒரு 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 சரிபார்ப்பு செயல்முறை ISO 7064 தரநிலையின் கீழ் MOD 97 அல்காரிதத்தைப் பயன்படுத்துகிறது. இது எவ்வாறு செயல்படுகிறது:
கணிதமாக, இது இவ்வாறு பிரதிபலிக்கப்படுகிறது:
எங்கள் சரிபார்ப்பான் இந்த அல்காரிதத்தை செயல்படுத்தி பயனர் உள்ளீட்டில் உள்ள எந்த IBAN ஐயும் சரிபார்க்கிறது.
IBAN உருவாக்கி சோதனை நோக்கத்திற்காக சீரான ஆனால் செல்லுபடியாகும் IBAN களை உருவாக்குகிறது. முக்கிய அம்சங்கள்:
உருவாக்கி IBAN களை உருவாக்குகிறது:
IBAN சரிபார்ப்பான் பயனர் உள்ளீட்டில் உள்ள IBAN களின் கட்டமைப்பு சீர்திருத்தத்தை சரிபார்க்கிறது. முக்கிய அம்சங்கள்:
சரிபார்ப்பான் பல சோதனைகளைச் செய்கிறது:
IBAN உருவாக்கி மற்றும் சரிபார்ப்பான் கருவி பல நோக்கங்களில் பல்வேறு துறைகளுக்குப் பயன்படுகிறது:
எங்கள் IBAN உருவாக்கி மற்றும் சரிபார்ப்பான் கருவி சோதனை நோக்கத்திற்காக ஒரு எளிமையான அனுபவத்தை வழங்குவதற்கான வழிமுறைகள் உள்ளன:
எங்கள் கருவி இந்த மாற்று முறைகளுக்கிடையில் இடைவெளியை மூடியுள்ளது, உருவாக்குதல் மற்றும் சரிபார்ப்பு இரண்டிற்கும் சிக்கலான ஒருங்கிணைப்புகள் அல்லது கட்டண சந்தா தேவை இல்லாமல் எளிய, அணுகக்கூடிய இடைமுகத்தை வழங்குகிறது.
IBAN (சர்வதேச வங்கி கணக்கு எண்) என்பது தேசிய எல்லைகளை கடந்த வங்கி கணக்குகளை அடையாளம் காண உதவுவதற்காக உருவாக்கப்பட்ட சர்வதேச எண் முறைமை ஆகும். இது சர்வதேச பரிமாற்றங்களில் பிழை இல்லாமல் செயல்படுவதற்காக சர்வதேச அமைப்பான ISO மூலம் நிறுவப்பட்டது.
IBAN உருவாக்கி, ISO 13616 தரநிலையின் கீழ் குறிப்பிடப்பட்ட MOD 97 சோதனை அல்காரிதத்தை கடந்து செல்லும் கட்டமைப்பில் சரியான IBAN களை உருவாக்குகிறது. உருவாக்கப்பட்ட IBAN கள் கணித ரீதியாக சரியானவை, ஆனால் அவை சீரான மற்றும் உண்மையான வங்கி கணக்குகளுடன் தொடர்புடையவை அல்ல, எனவே அவை சோதனைக்காக மட்டுமே உகந்தவை.
இந்த கருவி தற்போது ஜெர்மனி, ஐக்கிய இராச்சியம், பிரான்ஸ், ஸ்பெயின், இத்தாலி, நெதர்லாந்து, சுவிட்சர்லாந்து, ஆஸ்திரியா, பெல்ஜியம் மற்றும் போலந்து ஆகிய நாடுகளுக்கான IBAN வடிவங்களை ஆதரிக்கிறது. இவை ஐரோப்பாவில் அதிகமாகப் பயன்படுத்தப்படும் IBAN வடிவங்களை உள்ளடக்குகிறது.
இல்லை. இந்த உருவாக்கிய IBAN கள் கட்டமைப்பில் சரியானவை, ஆனால் சீரானவை. அவை உண்மையான வங்கி கணக்குகளுடன் தொடர்புடையவை அல்ல மற்றும் சோதனை, கல்வி அல்லது காட்சி நோக்கங்களுக்கு மட்டுமே பயன்படுத்தப்பட வேண்டும்.
சரிபார்ப்பான் IBAN இன் பல அம்சங்களைச் சரிபார்க்கிறது:
இல்லை. IBAN களை எளிதாக வாசிக்க (பொதுவாக நான்கு எழுத்துக்களுக்குள் குழுக்களாக) காட்டுவதற்காக இடங்களுடன் காட்சியளிக்கப்படும், ஆனால் சரிபார்ப்பில் இடங்கள் புறக்கணிக்கப்படுகின்றன. எங்கள் கருவி வடிவமைக்கப்பட்ட மற்றும் வடிவமைக்கப்படாத IBAN களை இரண்டையும் கையாள்கிறது.
இல்லை. இந்த கருவி உங்கள் உலாவியில் முழுமையாக செயல்படுகிறது. எந்த IBAN தரவுகளும் எந்த சேவையகத்திற்கும் அனுப்பப்படவில்லை, சேமிக்கப்படவில்லை அல்லது மூன்றாம் தரப்புடன் பகிரப்படவில்லை. உங்கள் தரவுகள் தனியார் மற்றும் பாதுகாப்பாக உள்ளன.
தற்போது, இந்த கருவி பட்டியலில் உள்ள ஆதரிக்கப்படும் நாடுகளில் மட்டுமே IBAN களை சரிபார்க்கிறது. கூடுதல் நாடுகளுக்கான சரிபார்ப்புக்கு, தயவுசெய்து கருத்து படிவத்தின் மூலம் எங்களுக்கு தெரிவிக்கவும்.
ஒரு IBAN சரிபார்ப்பில் தோல்வி அடையக்கூடிய பல காரணங்கள் உள்ளன:
இந்த கருவியை மேம்படுத்துவதற்கான கருத்துக்களை வரவேற்கிறோம். தயவுசெய்து பக்கம் கீழே உள்ள கருத்து படிவத்தைப் பயன்படுத்தி எந்த பிரச்சினைகளை அல்லது மேம்பாடுகளைப் பரிந்துரைக்கவும்.
IBAN சரிபார்ப்பு மற்றும் உருவாக்கத்தை உங்கள் சொந்த பயன்பாடுகளில் செயல்படுத்த விரும்பும் developers க்கான, பல்வேறு நிரலாக்க மொழிகளில் குறியீட்டு எடுத்துக்காட்டுகள் இங்கே உள்ளன:
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 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 // 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// எடுத்துக்காட்டு பயன்பாடு
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 (தவறான சரிபார்ப்பு எண்கள்)
32
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 ஐ mod 98 இல் சரிபார்க்கவும்
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 // BigInteger மூலம் 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 // தேவையான மேலும் நாடுகளைச் சேர்க்கவும்
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 // '00' என்ற சரிபார்ப்பு எண்களுடன் ஆரம்ப IBAN ஐ உருவாக்கவும்
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 ஐ 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// எடுத்துக்காட்டு பயன்பாடு
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 ஐ mod 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 ஐ உருவாக்க அல்லது சரிபார்க்க முயற்சிக்கவும், கருவியின் திறன்களை நேரடியாக அனுபவிக்கவும்!
உங்கள் பணிப்பாக்கிலுக்கு பயனுள்ள மேலும் பயனுள்ள கருவிகளைக் கண்டறியவும்