ഞങ്ങളുടെ ലളിതമായ ഉപകരണത്തിലൂടെ യാദൃച്ഛികമായി രൂപം അനുസരിച്ചുള്ള IBANകൾ സൃഷ്ടിക്കുകയോ നിലവിലുള്ളവയെ സ്ഥിരീകരിക്കുകയോ ചെയ്യുക. സാമ്പത്തിക ആപ്ലിക്കേഷനുകൾ, ബാങ്കിംഗ് സോഫ്റ്റ്വെയർ, വിദ്യാഭ്യാസ ആവശ്യങ്ങൾ എന്നിവയ്ക്ക് അനുയോജ്യമാണ്.
അന്താരാഷ്ട്ര ബാങ്ക് അക്കൗണ്ട് നമ്പർ (IBAN) ജനറേറ്റർ & വാലിഡേറ്റർ ഒരു സമഗ്രമായ ഉപകരണം ആണ്, സാമ്പത്തിക ആപ്ലിക്കേഷനുകൾ, ബാങ്കിംഗ് സോഫ്റ്റ്വെയർ, വിദ്യാഭ്യാസ സാഹചര്യങ്ങളിൽ പരീക്ഷണത്തിനും സ്ഥിരീകരണത്തിനും രൂപകൽപ്പന ചെയ്തതാണ്. സങ്കീർണ്ണമായ കോൺഫിഗറേഷനുകൾ അല്ലെങ്കിൽ മൂന്നാം കക്ഷി ഇന്റഗ്രേഷനുകൾ ആവശ്യമായില്ലാതെ, ഈ ഉപകരണം രണ്ട് പ്രധാന സവിശേഷതകൾ നൽകുന്നു: ഫോർമാറ്റ് അനുസരിച്ചുള്ള യാദൃശ്ചിക IBANകൾ സൃഷ്ടിക്കൽ, ഉപയോക്താവ് നൽകിയ IBANകളുടെ ഘടനാപരമായ സമഗ്രത സ്ഥിരീകരിക്കൽ. നിങ്ങൾ ഒരു ഡെവലപ്പർ ആയാലും, ബാങ്കിംഗ് ആപ്ലിക്കേഷനുകൾ സ്ഥിരീകരിക്കുന്ന QA വിദഗ്ധനാകട്ടെ, അല്ലെങ്കിൽ അന്താരാഷ്ട്ര ബാങ്കിംഗ് മാനദണ്ഡങ്ങൾ വിശദീകരിക്കുന്ന ഒരു അധ്യാപകനാകട്ടെ, ഈ ഉപകരണം സങ്കീർണ്ണമായ കോൺഫിഗറേഷനുകൾ അല്ലെങ്കിൽ മൂന്നാം കക്ഷി ഇന്റഗ്രേഷനുകൾ ആവശ്യമായില്ലാതെ ഒരു എളുപ്പമുള്ള പരിഹാരമാണ്.
IBANകൾ (അന്താരാഷ്ട്ര ബാങ്ക് അക്കൗണ്ട് നമ്പറുകൾ) രാജ്യാന്തരമായി ഉപയോഗിക്കുന്ന അക്കൗണ്ട് തിരിച്ചറിയലുകൾ ആണ്, അതിവേഗം പണം കൈമാറൽ സമയത്ത് പിശകുകൾ കുറയ്ക്കാൻ സഹായിക്കുന്നു. ഓരോ IBAN-യും ഒരു രാജ്യ കോഡ്, ചെക്ക് ഡിജിറ്റുകൾ, ഒരു അടിസ്ഥാന ബാങ്ക് അക്കൗണ്ട് നമ്പർ (BBAN) എന്നിവയടങ്ങുന്നു, ഇത് രാജ്യപ്രകാരമുള്ള ഫോർമാറ്റുകൾ പിന്തുടരുന്നു. നമ്മുടെ ഉപകരണം നിരവധി രാജ്യങ്ങളുടെ ഫോർമാറ്റുകൾ പിന്തുണയ്ക്കുന്നു, എല്ലാ സൃഷ്ടിച്ച IBANകൾ ISO 13616 സ്റ്റാൻഡർ പ്രകാരമുള്ള MOD 97 വാലിഡേഷൻ ആൽഗോരിതം മറികടക്കുന്നു.
ഒരു IBAN 34 അക്ഷരങ്ങൾ വരെ ഉള്ള അക്ഷര-സംഖ്യാ ചിഹ്നങ്ങൾ അടങ്ങിയിരിക്കുന്നു, എന്നാൽ കൃത്യമായ നീളം രാജ്യപ്രകാരമാണ്. സ്റ്റാൻഡേർഡ് ഘടനയിൽ ഉൾപ്പെടുന്നു:
ഉദാഹരണത്തിന്, ഒരു ജർമ്മൻ IBAN DE2!n8!n10!n
എന്ന ഘടന പിന്തുടരുന്നു, എവിടെ:
DE
രാജ്യ കോഡ് ആണ്2!n
രണ്ട് സംഖ്യാ ചെക്ക് ഡിജിറ്റുകൾ പ്രതിനിധീകരിക്കുന്നു8!n
എട്ട്-digit ബാങ്ക് കോഡ് പ്രതിനിധീകരിക്കുന്നു10!n
പത്ത്-digit അക്കൗണ്ട് നമ്പർ പ്രതിനിധീകരിക്കുന്നുവിവിധ രാജ്യങ്ങൾക്ക് 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 (അന്താരാഷ്ട്ര ബാങ്ക് അക്കൗണ്ട് നമ്പർ) രാജ്യാന്തര അതിവേഗ പണം കൈമാറലുകൾക്കായി ബാങ്ക് അക്കൗണ്ടുകൾ തിരിച്ചറിയാൻ ഉപയോഗിക്കുന്ന ഒരു ആഗോള നമ്പറിംഗ് സിസ്റ്റമാണ്. ഇത് പിശകുകൾ ഒഴിവാക്കാൻ സഹായിക്കുന്നു.
IBAN ജനറേറ്റർ MOD 97 പരിശോധന ആൽഗോരിതം പാലിക്കുന്ന ഘടനാപരമായ 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-ൽ മോഡുലോ കണക്കാക്കുക
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 // '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-ൽ മോഡുലോ 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 സൃഷ്ടിക്കുക അല്ലെങ്കിൽ വാലിഡേറ്റ് ചെയ്യുക, ഉപകരണത്തിന്റെ കഴിവുകൾ നേരിട്ട് അനുഭവിക്കുക!
നിങ്ങളുടെ പ്രവർത്തനത്തിന് ഉപയോഗപ്പെടുന്ന കൂടുതൽ ഉപകരണങ്ങൾ കണ്ടെത്തുക.