आयबीएएन जनरेटर आणि व्हॅलिडेटर साधन - बँकिंग डेटा तपासणी
तत्काल वैध चाचणी आयबीएएन तयार करा किंवा अस्तित्वात असलेल्या आयबीएएनची पडताळणी करा. 10 युरोपीय देशांना MOD 97 व्हॅलिडेशनसह समर्थन दिले जाते. आर्थिक सॉफ्टवेअर चाचणी आणि विकासासाठी परफेक्ट.
आयबीएएन जनरेटर आणि व्हॅलिडेटर
साहित्यिकरण
IBAN जनरेटर आणि व्हॅलिडेटर साधन
हे साधन काय करते
वित्तीय सॉफ्टवेअर परीक्षण करताना वास्तविक बँक खाते डेटा नसल्यास? तुम्हाला वैध IBAN फॉर्मॅट लागतील जे वैधता तपासणी पार करतात. हे साधन अशा यादृच्छिक IBANs तयार करते जे देश-विशिष्ट फॉर्मॅट्स अनुसरतात आणि ISO 13616 मानक वापरून विद्यमान IBANs वैध ठरवते.
येथे व्यावहारिक समस्या आहे जी ते सोडवते: पेमेंट सिस्टम किंवा बँकिंग अॅप्लिकेशन्स बनवताना, तुम्हाला असा टेस्ट डेटा हवा असतो जो वैधता पार करेल पण वास्तविक खाते क्रमांक उघड करणार नाही. डेव्हलपर्स करणारी सामान्य चूक म्हणजे "बनावट" IBANs तयार करणे जे MOD 97 तपासणी अल्गोरिदम पार करत नाहीत, ज्यामुळे चुकीच्या कारणांमुळे टेस्ट अयशस्वी होतात.
साधन दोन मूलभूत कार्ये करते:
- जनरेटर: कोणत्याही समर्थित देशासाठी रचनात्मकरित्या वैध IBANs तयार करते. प्रत्येक जनरेट केलेला क्रमांक तुमच्या उत्पादन प्रणालीद्वारे चालवल्या जाणाऱ्या वैधता तपासण्या पार करतो.
- वैधता तपासणी: IBAN रचना, तपासणी अंक आणि देश-विशिष्ट फॉर्मॅटिंग तपासते. IBAN नाकारला जात असल्याचे कारण समजण्यासाठी उपयुक्त.
IBANs (आंतरराष्ट्रीय बँक खाते क्रमांक) बँकांना सीमांपलीकडे खाती ओळखण्यासाठी मानकीकरण करतात. प्रत्येकात एक देश कोड, MOD 97 द्वारे गणलेले दोन तपासणी अंक आणि एक मूलभूत बँक खाते क्रमांक (BBAN) असतो जो देशानुसार बदलतो. हे जटिल बनवणारे म्हणजे जर्मनीला 22 अक्षरे लागतात तर फ्रान्सला 27 लागतात, आणि आंतरिक रचना पूर्णपणे वेगवेगळी असते.
आयबीएएन कसे काम करतात
आयबीएएन संरचना आणि स्वरूप
आयबीएएन 34 अक्षरांकीय वर्णांपर्यंत असू शकतात, परंतु बहुतेक युरोपीय देश 22-27 वापरतात. प्रत्येक आयबीएएन तीन भागांमध्ये विभागला जातो:
- देश कोड: ISO 3166-1 अल्फा-2 मानकातील दोन अक्षरे (DE जर्मनीसाठी, GB युनाइटेड किंगडमसाठी)
- तपासणी अंक: दोन गणिले गेलेले अंक जे MOD 97 वापरून संपूर्ण आयबीएएनची पडताळणी करतात
- मूलभूत बँक खाते क्रमांक (BBAN): देशविशिष्ट भाग ज्यामध्ये समाविष्ट आहे:
- बँक ओळखकर्ता (कधीकधी रूटिंग नंबर किंवा बँक कोड म्हणून ओळखला जातो)
- शाखा ओळखकर्ता (यूके याला सॉर्ट कोड म्हणते)
- खाते क्रमांक
- कधीकधी अतिरिक्त राष्ट्रीय तपासणी अंक
जर्मन आयबीएएनचा उदाहरण घ्या. पॅटर्न DE2!n8!n10!n म्हणजे:
DE= देश कोड2!n= दोन संख्यात्मक तपासणी अंक8!n= आठ-अंकी बँक कोड (Bankleitzahl)10!n= दहा-अंकी खाते क्रमांक (Kontonummer)
लोकांना अचानक काय अचंबित करते ते म्हणजे या स्वरूपांमध्ये देशांमध्ये किती फरक असतात:
| देश | लांबी | संरचना | उदाहरण |
|---|---|---|---|
| जर्मनी (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 |
आयबीएएन सत्यापन अल्गोरिदम
आयबीएएन सत्यापन ISO 7064 मध्ये परिभाषित MOD 97 अल्गोरिदमवर अवलंबून असते. जेव्हा आप आयबीएएनची सत्यापना करता तेव्हा काय होते:
- पहिल्या चार वर्णांना (देश कोड आणि तपासणी अंक) शेवटी हलवा
- प्रत्येक अक्षराला संख्या बदला: A=10, B=11, Z=35 पर्यंत
- निर्माण झालेल्या संख्या श्रृंखलेचा मॉड्युलो 97 काढा
- वैध आयबीएएन नेहमी अचूक 1 उरलेला असतो
गणितीय रित्या:
MOD 97 विशेष का? हे जवळजवळ सर्व सामान्य त्रुटी पकडते: एकल अंक चुका, बदलले गेलेले अंक, दृश्यमान अक्षरांसारख्या त्रुटी. व्यवहारात, मला असे आढळले आहे की हे जवळजवळ 99.9% अनैच्छिक डेटा प्रवेश त्रुटी पकडते, म्हणूनच हे आंतरराष्ट्रीय मानक बनले.
एक विचित्र गोष्ट जाणून घेण्यासारखी: आयबीएएन तयार करताना, तुम्ही "00" सह तपासणी अंक काढता, अल्गोरिदम चालवता, आणि मग 98 मधून उरलेला भाग वजा करता. हे सुनिश्चित करते की अंतिम आयबीएएन अचूक सत्यापित होईल.
साधन वैशिष्ट्ये
IBAN जनरेटर
परीक्षण IBANs तयार करा जे वैध आहेत पण वास्तविक खाते क्रमांक वापरत नाहीत:
- देश निवड: 10 प्रमुख युरोपीय देशांना समर्थन (जर्मनी, यूके, फ्रान्स, स्पेन, इटली, नेदरलँड्स, स्विट्झर्लंड, ऑस्ट्रिया, बेल्जियम, पोलंड)
- फॉर्मेट अनुपालन: प्रत्येक जनरेट केलेला IBAN अधिकृत देश संरचनेशी जुळतो आणि MOD 97 वैधता पास करतो
- एक-क्लिक जनरेशन: कोणतीही कॉन्फिगरेशन आवश्यक नाही—फक्त एक देश निवडा आणि जनरेट करा
- क्लिपबोर्डवर कॉपी करा: एका क्लिकमध्ये पूर्ण IBAN कॉपी करा आणि तुमच्या चाचण्यांमध्ये पेस्ट करा
- दृश्य विभाजन: रंग-कोडित प्रदर्शन देश कोड, तपासणी अंक आणि बँक तपशील स्वतंत्रपणे दाखवते
जनरेशन प्रक्रिया:
- देश-विशिष्ट फॉर्मेट टेम्पलेट निवडते
- BBAN भागात यादृच्छिक अंक/अक्षरे भरते
- MOD 97 वापरून तपासणी अंक काढते
- संपूर्ण IBAN जोडते आणि वैध करते
प्रो टिप: चाचणी डेटाबेस बीज देताना, क्रॉस-बॉर्डर परिदृश्ये तपासण्यासाठी विविध देशांमधून IBANs तयार करा. वास्तविक पेमेंट सिस्टम्समध्ये विशिष्ट देशांसह काही किनारी प्रकरणे असतात.
IBAN वैधता तपासणी
IBAN संरचना तपासा आणि उत्पादनात येण्यापूर्वी फॉर्मेटिंग समस्या पकडा:
- फॉर्मेट पडताळणी: देश-विशिष्ट लांबी आणि संरचना आवश्यकता तपासते
- MOD 97 वैधता: पूर्ण तपासणी अंक अल्गोरिदम चालवते
- घटक विभाजन: IBAN कसा देश कोड, तपासणी अंक, बँक कोड आणि खाते क्रमांकात विभाजित होतो ते दाखवते
- विशिष्ट त्रुटी संदेश: सामान्य "अवैध" संदेशांऐवजी, आपल्याला नेमके काय चुकले आहे ते दाखवले जाते
- स्वयं-फॉर्मेटिंग: अंतर असलेले किंवा नसलेले IBANs हाताळते—फॉर्मेटिंग स्वयंचलितपणे होते
वैधता तपासणी क्रमाने चालते:
- देश कोड ओळखणे (समर्थित आहे का?)
- लांबी पडताळणी (त्या देशासाठी अक्षरांची योग्य संख्या?)
- अक्षर प्रकार वैधता (अपेक्षित ठिकाणी अंक, अनुमत ठिकाणी अक्षरे)
- MOD 97 तपासणी अंक गणना (गणित कार्य करते का?)
सामान्य परिदृश्य: तुमच्या API ला वापरकर्ता इनपुटमधून IBAN मिळतो ज्याचे अंतर असमान आहे. प्रक्रिया करण्यापूर्वी वैधता तपासणीचा वापर करून त्याला सामान्य करा—ते स्वयंचलितपणे अंतर काढते आणि योग्य फॉर्मेट दाखवते.
पायऱ्यांनुसार मार्गदर्शक
IBAN तयार करणे
- जेनरेटर टॅब मध्ये प्रवेश करा: "जेनरेटर" टॅबवर क्लिक करा (डीफॉल्ट म्हणून निवडलेले)
- देश निवडा: ड्रॉपडाउन मेनूमधून आपला इच्छित देश निवडा
- IBAN तयार करा: "IBAN तयार करा" बटणावर क्लिक करा
- निकाल पहा: तयार केलेला IBAN त्याच्या घटकांच्या दृश्य विभाजनासह खाली दिसेल
- क्लिपबोर्डवर कॉपी करा: इतर ठिकाणी वापरण्यासाठी IBAN कॉपी करण्यासाठी "क्लिपबोर्डवर कॉपी करा" बटणावर क्लिक करा
IBAN सत्यापित करणे
- व्हॅलिडेटर टॅब मध्ये प्रवेश करा: "व्हॅलिडेटर" टॅबवर क्लिक करा
- IBAN प्रविष्ट करा: इनपुट फील्डमध्ये IBAN टाइप किंवा पेस्ट करा
- रिकाम्या जागा आणि स्वरूपण स्वयंचलितपणे हाताळले जातील
- साधन स्वरूपित (रिकाम्या जागांसह) आणि अस्वरूपित IBAN स्वीकारते
- सत्यापन निकाल पहा: साधन आपण टाइप करताना स्वयंचलितपणे IBAN सत्यापित करेल
- तपशील तपासा: वैध IBAN साठी, घटकांचे विभाजन दर्शविले जाईल
- कोणतेही त्रुटी तपासा: अवैध IBAN साठी, विशिष्ट त्रुटी संदेश समस्या ओळखण्यास मदत करतील
वापर प्रकरणे आणि वास्तविक जग अनुप्रयोग
सॉफ्टवेअर विकास आणि चाचणी
API चाचणी: जेव्हा पेमेंट एकीकरण चाचण्या बनवत असाल, तेव्हा आपणास अशा IBANs आवश्यक असतात जे वैधता पास करतात पण वास्तविक व्यवहार ट्रिगर करणार नाहीत. आपल्या स्वयंचलित चाचणी सूटसाठी चाचणी IBANs चा बॅच तयार करा, असे सुनिश्चित करून की आपली त्रुटी हाताळणी विविध देश फॉर्मेटसाठी योग्यरित्या काम करते.
फॉर्म वैधता: चेकआउट प्रवाह तपासत आहात? आपल्या फ्रंटएंड वैधतेने बॅकएंड आवश्यकतांशी जुळते याची पडताळणी करण्यासाठी वैधकर्ता वापरा. एक सामान्य समस्या म्हणजे IBAN फॉर्मेट स्वीकारणे ज्याला आपला पेमेंट प्रोसेसर नंतर नाकारेल—विकासादरम्यान याचा शोध घेणे ग्राहक अडचणी टाळते.
किनारा प्रकरण चाचणी: बहुतेक डेव्हलपर्स एक किंवा दोन देश फॉर्मेटसह चाचणी करतात. काय होते जेव्हा 21-अक्षरी IBANसह स्विस ग्राहक आपल्या जर्मन 22-अक्षरी IBANवर डिझाइन केलेल्या सिस्टमचा वापर करतो? आपल्या फील्ड लांबी आणि वैधता तर्कासाठी विविध देश फॉर्मेट तयार करा.
प्रतिगमन चाचणी: आपल्या IBAN वैधता पुस्तकालयाला अपडेट केल्यानंतर, जुन्या आणि नवीन आवृत्त्यांद्वारे तयार केलेल्या चाचणी IBANs चालवा. कोणतेही तफावत उत्पादन प्रभावित करू शकणाऱ्या ब्रेकिंग बदलांचे संकेत देतात.
आर्थिक अनुप्रयोग विकास
पेमेंट सिस्टम: आंतरराष्ट्रीय तार हस्तांतरण कार्यक्षमता बनवताना, आपण असे परिदृश्य भेटाल जिथे IBAN संरचना स्वतः रूटिंग वर्तणुकीला ठरवते. नीदरलँड्सचे IBANs (ज्यामध्ये BBAN मध्ये अक्षरे असतात) चाचणी करणे ते दोष उघड करतात जे सर्व-संख्यात्मक जर्मन IBANs पकडणार नाहीत.
बँकिंग सॉफ्टवेअर: बँक कोड आणि शाखा ओळखकर्ते काढण्यासाठी IBANs पार्स करणे देश-विशिष्ट तर्काची आवश्यकता असते. प्रत्येक समर्थित देशासाठी IBANs तयार करा आणि आपला पार्सिंग अल्गोरिदम या घटकांना योग्यरित्या ओळखतो याची पडताळणी करा.
अनुपालन पडताळणी: आर्थिक नियमांना प्रक्रिया करण्यापूर्वी IBANs वैध करण्याची आवश्यकता असते. आपल्या सिस्टमने अवैध तपासणी अंक आणि चुकीचे फॉर्मेट नाकारले याचे प्रमाण देण्यासाठी या साधनाचा वापर करा—ऑडिट ट्रेलसाठी आवश्यक.
शैक्षणिक आणि दस्तऐवजीकरण
बँकिंग मानके शिक्षा: आंतरराष्ट्रीय पेमेंट प्रणालींबद्दल शिकणाऱ्या विद्यार्थ्यांना वास्तविक IBAN संरचना पाहण्यात फायदा होतो. विविध देशांतील उदाहरणे तयार करा जे दाखवतात की मानकीकरण वेगवेगळ्या बँकिंग प्रणालींमध्ये कसे काम करते.
API दस्तऐवजीकरण: संभाव्यरित्या-वास्तविक IBANs वापरण्याऐवजी, स्वच्छ उदाहरणे तयार करा. "चाचणीसाठी IBAN DE89370400440532013000 वापरा" असे वाक्य असलेले दस्तऐवजीकरण लगेच डेव्हलपर्सना सांगते की हे सुरक्षित चाचणी मूल्ये आहेत.
डेटा ऑपरेशन्स
डेटाबेस बीजारोपण: विकास आणि स्टेजिंग पर्यावरणांना वास्तविक चाचणी डेटा आवश्यक असतो. गोपनीयता चिंता न करता प्रतिनिधीक आंतरराष्ट्रीय ग्राहक प्रोफाइल्स बरोबर डेटाबेस भरण्यासाठी विविध IBANs तयार करा.
डेटा अनामता: उत्पादन पासून स्टेजिंगवर स्थलांतर करताना? वास्तविक IBANs ला तयार केलेल्या IBANs बदला जे चाचणीसाठी फॉर्मेट वैधता राखतात तर संवेदनशील माहिती काढून टाकतात. विकास पर्यावरणात GDPR अनुपालनासाठी महत्त्वपूर्ण.
पर्याय आणि त्यांचा वापर कधी करावा
वेगवेगळ्या साधनांचा वेगवेगळ्या गरजांसाठी वापर होतो. येथे एक ईमानदार तुलना आहे:
वाणिज्यिक बँकिंग एपीआय (उदा. स्ट्राइप, अडेन)
वास्तविक बँक नोंदणींविरुद्ध उत्पादन सत्यापनासाठी सर्वोत्तम. या सेवा तपासतात की आयबॅन एखाद्या वास्तविक सक्रिय खात्याशी संबंधित आहे, केवळ फॉर्मॅट बरोबर आहे की नाही.
वापर करा जेव्हा: तुम्हाला असे पडताळून पाहायचे असेल की आयबॅन अस्तित्वात आहे आणि पेमेंट्स प्राप्त करू शकतो, केवळ संरचनात्मक वैध असल्याचे नाही.
मर्यादा: पैसे लागतात (सामान्यतः प्रति-एपीआय-कॉल किंमत), एकीकरण कामाची आवश्यकता असते, आणि विकासासाठी अजूनही चाचणी आयबॅन लागतात—जेथे हे साधन उपयोगी पडते.
प्रोग्रामिंग भाषा लायब्ररी (ibantools, iban.js, python-stdnum)
तुमच्या अनुप्रयोग कोडमध्ये एम्बेडेड सत्यापनासाठी सर्वोत्तम. जावास्क्रिप्टसाठी ibantools किंवा पायथनसाठी python-stdnum सारख्या लायब्ररी दोन्ही सत्यापन आणि निर्मिती कार्ये प्रदान करतात.
वापर करा जेव्हा: तुम्हाला बिल्ड किंवा रनटाइम सत्यापनाचा भाग म्हणून प्रोग्रामॅटिक प्रवेश लागतो.
मर्यादा: एकीकरणासाठी विकास प्रयत्न आवश्यक असतात, आणि डीबगिंग दरम्यान विशिष्ट आयबॅन मॅन्युअली तपासण्यासाठी अजूनही एक जलद मार्ग लागतो. त्यासाठी वेब साधन चाचणी स्क्रिप्ट लिहिण्यापेक्षा जलद असते.
स्विफ्ट आयबॅन रजिस्ट्री
स्विफ्ट द्वारे राखलेला अधिकृत आयबॅन रजिस्ट्री सर्व देशांचे फॉर्मॅट आणि सत्यापन नियम सूचीबद्ध करतो. हा अधिकृत स्रोत आहे.
वापर करा जेव्हा: तुम्हाला शून्यापासून आयबॅन समर्थन अंमलबजावणी करायची असेल आणि अधिकृत विशिष्टतांची आवश्यकता असेल.
मर्यादा: हे दस्तऐवज आहे, साधन नाही. तुम्हाला अजूनही त्या विशिष्टतांच्या आधारे आयबॅन तयार करण्यासाठी किंवा सत्यापित करण्यासाठी काहीतरी बांधावे लागेल.
अधिकृत बँक सत्यापक
अनेक राष्ट्रीय बँका देशविशिष्ट सत्यापक प्रदान करतात (उदा. जर्मन आयबॅनसाठी बुंडेसबँक). हे त्यांच्या विशिष्ट देशासाठी अत्यंत अचूक असतात.
वापर करा जेव्हा: तुम्ही केवळ एका देशात काम करता आणि बँक-स्तरावरील सत्यापन तपशील लागतात.
मर्यादा: एकच देशावर लक्ष. जर तुम्ही आंतरराष्ट्रीय पेमेंट सिस्टम बांधत असाल, तर तुम्हाला प्रत्येक देशासाठी सत्यापक लागतील.
हे साधन कधी अर्थपूर्ण असते
जेव्हा तुम्हाला एपीआय एकीकरणाशिवाय लगेच चाचणी करायची असते तेव्हा हे साधन वापरा. हे विकासादरम्यान आणि डीबगिंग करताना विशेषतः उपयोगी असते जेव्हा तुम्हाला लगेच वैध चाचणी डेटा तयार करायचा असतो किंवा विशिष्ट आयबॅन का अयशस्वी होत आहे हे पडताळून पाहायचे असते. हे तुमच्या कोडबेसमधील उत्पादन-स्तरावरील सत्यापन लायब्ररींचे पूर्णपणे पर्याय ठरणार नाही, पण टाकाऊ चाचणी स्क्रिप्ट लिहिण्यापेक्षा हे जलद आहे.
Frequently Asked Questions
What is an IBAN and why does it matter?
IBAN stands for International Bank Account Number—a standardized format created by the International Organization for Standardization (ISO) to reduce errors in cross-border payments. Before IBANs, each country used its own account number format, which led to frequent mistakes and failed transfers. IBANs add country codes and check digits to catch errors before money moves.
How accurate are the generated IBANs?
Generated IBANs are mathematically correct and pass the MOD 97 validation algorithm defined in ISO 13616. They follow proper country-specific structures. However, they're randomly created and don't correspond to real bank accounts—that's the point. They're safe for testing precisely because they won't accidentally hit a real account.
Which countries does this tool support?
Currently 10 European countries: Germany, United Kingdom, France, Spain, Italy, Netherlands, Switzerland, Austria, Belgium, and Poland. These cover the most common IBAN formats you'll encounter in European payment systems. Need another country? The feedback form is the best way to request additions.
Can I use generated IBANs for actual money transfers?
Absolutely not. These are test IBANs only. They pass format validation but aren't connected to real bank accounts. Using them for actual transactions will result in payment failures or rejections. They're meant for development, testing, and educational purposes only.
How does IBAN validation actually work?
The validator runs four checks in sequence:
- Country code: Is it a recognized two-letter code?
- Length: Does it match the required length for that country? (Germany = 22, UK = 22, France = 27, etc.)
- Character types: Are letters and numbers in the correct positions based on country format?
- MOD 97 check: Does the mathematical checksum equal 1 according to ISO 7064?
If any check fails, you'll see a specific error message explaining what's wrong.
Do spaces matter in IBANs?
Not for validation. IBANs are typically displayed with spaces (groups of four) for readability, but the spaces are cosmetic. DE89 3704 0044 0532 0130 00 and DE89370400440532013000 are identical for validation purposes. The tool handles both formats automatically.
Is my data sent to a server or stored anywhere?
No. Everything runs in your browser using JavaScript. No IBAN data leaves your machine, touches a server, or gets stored anywhere. You can verify this by opening browser dev tools and watching the network tab—you'll see no requests when generating or validating IBANs.
What if I need to validate an IBAN from a country not listed?
The tool currently only supports the 10 countries in the dropdown. Adding more requires implementing each country's specific format rules. If you need validation for countries like Norway, Sweden, or others, let us know via the feedback form—we prioritize additions based on demand.
Why would a correctly-formatted IBAN fail validation?
Most common reasons:
- Incorrect check digits: Even one wrong digit fails the MOD 97 test
- Typos: Transposed characters or wrong digits anywhere in the IBAN
- Wrong length: Missing or extra characters for that country
- Invalid characters: Letters where only numbers are allowed, or vice versa
- Unsupported country: The country code exists but isn't in our supported list
The error message will tell you specifically what's wrong.
How can I report bugs or request features?
Use the feedback form at the bottom of the page. Specific bug reports with example IBANs are most helpful. For feature requests, explaining your use case helps prioritize what gets built next.
What's the difference between IBAN and SWIFT/BIC codes?
IBANs identify specific bank accounts, while SWIFT/BIC codes identify banks or bank branches. Think of it this way: the SWIFT code tells you which bank, the IBAN tells you which account at that bank. For international transfers, you often need both—the SWIFT code routes to the correct bank, then the IBAN routes to the specific account.
Can I validate an IBAN without knowing the country?
Yes, because the first two letters of every IBAN are the country code. The validator reads those first two characters to determine which country format to apply. This is why country detection happens automatically when you paste an IBAN—no need to select the country manually.
Are there IBAN formats for countries outside Europe?
Yes, but fewer. While IBAN originated in Europe and has the highest adoption there, countries like Saudi Arabia, UAE, Brazil, and others have adopted it. This tool currently focuses on European formats as they represent the vast majority of cross-border transactions. The SWIFT IBAN Registry maintains the complete list.
आयबीएएन (IBAN) वाचणे आणि डिकोड करणे कसे
कधी DE89370400440532013000 सारखा आयबीएएन पाहिला असेल आणि त्यातील प्रत्येक भागाचा अर्थ काय असेल याचा विचार केला असेल? येथे कोणत्याही आयबीएएनचे डिकोड करण्याचा मार्ग आहे:
पायरी 1: देश कोड (पहिले 2 अक्षर)
DE= जर्मनी- सांगते की कोणत्या देशाच्या स्वरूप नियम लागू होतात
पायरी 2: तपासणी अंक (पुढील 2 अक्षर)
89= गणलेला चेकसम- हे अंक पूर्ण आयबीएएन वैध आहे याची पुष्टी करतात MOD 97 वापरून
पायरी 3: बँक कोड (देशानुसार बदलतो)
- जर्मन आयबीएएनमध्ये
37040044= 8-अंकी बँक ओळखकर्ता - वेगवेगळ्या देशांमध्ये वेगवेगळी लांबी असते (यूके मध्ये 4 अक्षर वापरतात)
पायरी 4: खाते क्रमांक (उर्वरित अक्षर)
0532013000= त्या बँकेतील वास्तविक खाते क्रमांक- लांबी आणि स्वरूप देशावर अवलंबून असते
वेगवेगळ्या देश BBAN भाग वेगवेगळ्या पद्धतीने व्यवस्थित करतात. यूके आयबीएएनमध्ये बँक कोड आणि खाते क्रमांकामध्ये 6-अंकी सॉर्ट कोड (शाखा ओळखकर्ता) असतो. फ्रेंच आयबीएएनमध्ये बँक कोड, शाखा कोड आणि खाते क्रमांक एका तपासणी कुंजीसह संयोजित केले जातात. आयबीएएनला प्रोग्रामॅटिकली पार्स करताना या फरकांचे समझणे महत्वाचे आहे.
सामान्य IBAN सत्यापन त्रुटी आणि त्यांची दुरुस्ती कशी करावी
IBAN सत्यापन अंमलबजावणी करताना, तुम्ही या समस्यांना वारंवार भेटाल:
"अवैध तपासणी अंक" त्रुटी
कारण: MOD 97 गणना 1 इतकी समान नाही. किंवा तपासणी अंक चुकीचे आहेत, किंवा IBAN मध्ये इतर कोठेतरी त्रुटी आहे.
दुरुस्ती: कोणत्याही टाइपो दुरुस्त केल्यानंतर पुन्हा सत्यापन करा. IBAN मध्ये एकही चुकीचा अक्षर असल्यास तपासणी अंक अयशस्वी होतात. हे डिझाइन केलेले आहे - हे डेटा एंट्री त्रुटी पकडते.
"देशासाठी चुकीची लांबी" त्रुटी
कारण: IBAN मध्ये देश कोडसाठी खूप जास्त किंवा कमी अक्षर आहेत.
दुरुस्ती: देश कोड अभिप्रेत देशाशी जुळत असल्याची पुष्टी करा. जर्मन IBAN नेहमी 22 अक्षरांचे असतात, यूके IBAN 22, फ्रेंच 27. अपूर्ण किंवा अधिक अक्षर म्हणजे कापणी किंवा चुकीचा डेटा.
"अवैध अक्षर" त्रुटी
कारण: अशा स्थानावर अक्षर जेथे ते असू नयेत - जसे की फक्त संख्या असलेल्या ठिकाणी अक्षर.
दुरुस्ती: देशविशिष्ट स्वरूप तपासा. उदाहरणार्थ, जर्मन IBAN देश कोड आणि तपासणी अंकानंतर पूर्णपणे संख्यात्मक असतात, तर यूके IBAN मध्ये बँक कोडसाठी 4 अक्षर असतात.
"असमर्थित देश कोड" त्रुटी
कारण: पहिली दोन अक्षरे म्हणजे ओळखलेला देश कोड नाहीत, किंवा तुमच्या सत्यापकाद्वारे समर्थित नाहीत.
दुरुस्ती: देश कोडची वर्तणूक तपासा. सामान्य चुका म्हणजे UK ऐवजी GB, किंवा EN ऐवजी देश कोड वापरणे. हे साधन 10 युरोपीय देशांना समर्थन देते; उत्पादन सत्यापक सर्व SWIFT रजिस्ट्री देशांना समर्थन देऊ शकतात.
स्वरूप बनाम खाते अस्तित्व
महत्त्वाचे भेदीकरण: सत्यापन 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 // पुनर्रचना करा आणि अक्षरांना संख्यांमध्ये बदला
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 // मॉड 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 (अवैध तपासणी अंक)
321def 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 (अवैध तपासणी अंक)
271public 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}
35IBAN निर्मिती
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 तयार करा
791import 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संदर्भ आणि पुढील वाचन
- ISO 13616-1:2007 - अधिकृत IBAN संरचना विशिष्टता
- SWIFT IBAN रजिस्ट्री - देश-विशिष्ट IBAN स्वरूपांसाठी अधिकृत स्रोत
- ISO 7064:2003 - MOD 97 तपासणी अंक अल्गोरिदम विशिष्टता
- युरोपीय पेमेंट परिषद - SEPA - एकल युरो पेमेंट क्षेत्र दस्तऐवज
- युरोपीय केंद्रीय बँक - पेमेंट प्रणाली - युरोपीय बँकिंग एकीकरण मानक
- आंतरराष्ट्रीय पेमेंट बँक - पेमेंट प्रणाली - आंतरराष्ट्रीय पेमेंट प्रणाली मानक
आयबीएएन चाचणी सुरू करा
तुमच्या पेमेंट सिस्टमसाठी चाचणी डेटा हवा आहे? वरील कोणत्याही समर्थित देशासाठी एक वैध आयबीएएन तयार करा, किंवा त्याच्या संरचनेची पडताळणी करण्यासाठी एक अस्तित्वात असलेला आयबीएएन पेस्ट करा. साधन पूर्णपणे तुमच्या ब्राउझरमध्ये चालते - कोणतीही साइन अप नाही, कोणतीही एपीआय की नाही, सर्व्हरवर कोणताही डेटा पाठवला जात नाही.
जलद टीप: विविध देशांमधून आयबीएएन तयार करून किनारी प्रकरणे तपासा. वास्तविक पेमेंट सिस्टम विविध स्वरूपे हाताळतात, आणि केवळ एका देशाच्या स्वरूपाने चाचणी करणे उत्पादन दोषांचा एक सामान्य स्रोत आहे.