परीक्षण और सत्यापन के लिए IBAN जनरेटर और मान्यकर्ता उपकरण
हमारे सरल उपकरण के साथ यादृच्छिक रूप-सम compliant IBAN बनाएं या मौजूदा लोगों को मान्य करें। वित्तीय अनुप्रयोगों, बैंकिंग सॉफ़्टवेयर और शैक्षिक उद्देश्यों के लिए आदर्श।
आईबीएएन जनरेटर और मान्यता
दस्तावेज़ीकरण
IBAN जनरेटर और वेलिडेटर टूल
परिचय
अंतर्राष्ट्रीय बैंक खाता संख्या (IBAN) जनरेटर और वेलिडेटर एक व्यापक उपकरण है जो वित्तीय अनुप्रयोगों, बैंकिंग सॉफ़्टवेयर और शैक्षिक संदर्भों में परीक्षण और सत्यापन के उद्देश्यों के लिए डिज़ाइन किया गया है। यह उपयोगकर्ता के अनुकूल एप्लिकेशन दो आवश्यक सुविधाएँ प्रदान करता है: यादृच्छिक लेकिन प्रारूप-संगत IBAN उत्पन्न करना और उपयोगकर्ता द्वारा दर्ज किए गए IBAN की संरचनात्मक अखंडता को मान्य करना। चाहे आप वित्तीय सॉफ़्टवेयर का परीक्षण करने वाले डेवलपर हों, बैंकिंग अनुप्रयोगों को सत्यापित करने वाले QA विशेषज्ञ हों, या अंतरराष्ट्रीय बैंकिंग मानकों को समझाने वाले शिक्षक हों, यह उपकरण बिना किसी जटिल कॉन्फ़िगरेशन या तृतीय-पक्ष एकीकरण की आवश्यकता के बिना एक सीधा समाधान प्रदान करता है।
IBAN (अंतर्राष्ट्रीय बैंक खाता संख्या) मानकीकृत खाता पहचानकर्ता हैं जो अंतरराष्ट्रीय स्तर पर क्रॉस-बॉर्डर लेनदेन को सुविधाजनक बनाने और अंतरराष्ट्रीय धन हस्तांतरण में त्रुटियों को कम करने के लिए उपयोग किए जाते हैं। प्रत्येक IBAN में एक देश कोड, चेक अंक और एक बुनियादी बैंक खाता संख्या (BBAN) होती है जो देश-विशिष्ट प्रारूपों का पालन करती है। हमारा उपकरण कई देश के प्रारूपों का समर्थन करता है और सुनिश्चित करता है कि सभी उत्पन्न IBAN MOD 97 मान्यता एल्गोरिदम को पास करते हैं जो ISO 13616 मानक में निर्दिष्ट है।
IBAN कैसे काम करता है
IBAN संरचना और प्रारूप
एक IBAN में 34 अल्फ़ान्यूमेरिक वर्णों तक हो सकते हैं, हालाँकि सटीक लंबाई देश के अनुसार भिन्न होती है। मानक संरचना में शामिल हैं:
- देश कोड: एक दो-अक्षरी ISO 3166-1 अल्फ़ा-2 कोड (जैसे, DE जर्मनी के लिए, GB यूनाइटेड किंगडम के लिए)
- चेक अंक: दो अंक जो IBAN को मान्य करने के लिए MOD 97 एल्गोरिदम का उपयोग करके गणना किए जाते हैं
- बुनियादी बैंक खाता संख्या (BBAN): देश-विशिष्ट प्रारूप जिसमें शामिल हो सकता है:
- बैंक कोड
- शाखा कोड (सॉर्ट कोड)
- खाता संख्या
- राष्ट्रीय चेक अंक
उदाहरण के लिए, एक जर्मन 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 मान्यता एल्गोरिदम
IBAN मान्यता प्रक्रिया MOD 97 एल्गोरिदम का उपयोग करती है जैसा कि ISO 7064 मानक में निर्दिष्ट है। यह इस प्रकार काम करता है:
- पहले चार वर्णों (देश कोड और चेक अंक) को IBAN के अंत में ले जाएँ
- सभी अक्षरों को संख्याओं में परिवर्तित करें (A=10, B=11, ..., Z=35)
- परिणामी संख्या का मोड 97 की गणना करें
- यदि शेषफल 1 के बराबर है, तो IBAN मान्य है
गणितीय रूप से, इसे इस प्रकार दर्शाया गया है:
हमारा वेलिडेटर इस एल्गोरिदम को लागू करता है ताकि उपयोगकर्ताओं द्वारा दर्ज किए गए किसी भी IBAN की संरचनात्मक अखंडता को सत्यापित किया जा सके।
उपकरण की विशेषताएँ
IBAN जनरेटर
IBAN जनरेटर परीक्षण उद्देश्यों के लिए यादृच्छिक लेकिन मान्य IBAN उत्पन्न करता है। प्रमुख विशेषताएँ शामिल हैं:
- देश चयन: जर्मनी, यूके, फ्रांस, स्पेन, इटली, नीदरलैंड, स्विट्ज़रलैंड, ऑस्ट्रिया, बेल्जियम और पोलैंड सहित कई समर्थित देशों में से चुनें
- फॉर्मेट अनुपालन: सभी उत्पन्न IBAN देश-विशिष्ट प्रारूपों का पालन करते हैं और MOD 97 मान्यता को पास करते हैं
- एक-क्लिक जनरेशन: एक ही बटन क्लिक के साथ तुरंत मान्य IBAN उत्पन्न करें
- क्लिपबोर्ड पर कॉपी करें: परीक्षण परिदृश्यों में उपयोग के लिए उत्पन्न IBAN को आसानी से कॉपी करें
- दृश्य प्रतिनिधित्व: IBAN घटकों (देश कोड, चेक अंक, बैंक विवरण) का रंग-कोडित ब्रेकडाउन देखें
जनरेटर IBAN उत्पन्न करता है:
- उचित देश प्रारूप का चयन करना
- BBAN भाग के लिए यादृच्छिक अंकों का उत्पादन करना
- MOD 97 एल्गोरिदम का उपयोग करके सही चेक अंकों की गणना करना
- पूर्ण IBAN को असेंबल करना
IBAN वेलिडेटर
IBAN वेलिडेटर उपयोगकर्ता द्वारा दर्ज किए गए IBAN की संरचनात्मक अखंडता की जांच करता है। प्रमुख विशेषताएँ शामिल हैं:
- फॉर्मेट सत्यापन: यह जांचता है कि IBAN सही देश-विशिष्ट प्रारूप का पालन करता है
- MOD 97 मान्यता: मानक एल्गोरिदम का उपयोग करके चेक अंकों का सत्यापन करता है
- विस्तृत ब्रेकडाउन: मान्य IBAN के घटकों (देश कोड, चेक अंक, बैंक कोड, खाता संख्या) को प्रदर्शित करता है
- त्रुटि पहचान: अमान्य IBAN के लिए विशिष्ट त्रुटि संदेश प्रदान करता है
- फॉर्मेटिंग सहायता: बेहतर पठनीयता के लिए दर्ज किए गए IBAN को स्वचालित रूप से फॉर्मेट करता है
वेलिडेटर कई जांचें करता है:
- यह सत्यापित करता है कि देश कोड समर्थित है
- यह देश-विशिष्ट आवश्यकताओं के खिलाफ IBAN की लंबाई की जांच करता है
- यह वर्ण प्रकारों (सही स्थानों पर अक्षर और अंक) को मान्य करता है
- चेक अंकों को मान्य करने के लिए MOD 97 जांच करता है
चरण-दर-चरण गाइड
IBAN उत्पन्न करना
- जनरेटर टैब तक पहुँचें: "जनरेटर" टैब पर क्लिक करें (डिफ़ॉल्ट रूप से चयनित)
- एक देश चुनें: ड्रॉपडाउन मेनू से अपना वांछित देश चुनें
- IBAN उत्पन्न करें: "IBAN उत्पन्न करें" बटन पर क्लिक करें
- परिणाम देखें: उत्पन्न IBAN नीचे दिखाई देगा जिसमें इसके घटकों का दृश्य ब्रेकडाउन होगा
- क्लिपबोर्ड पर कॉपी करें: अन्यत्र उपयोग के लिए IBAN को कॉपी करने के लिए "क्लिपबोर्ड पर कॉपी करें" बटन पर क्लिक करें
IBAN मान्य करना
- वेलिडेटर टैब तक पहुँचें: "वेलिडेटर" टैब पर क्लिक करें
- IBAN दर्ज करें: एक IBAN को इनपुट फ़ील्ड में टाइप या पेस्ट करें
- स्पेस और फॉर्मेटिंग स्वचालित रूप से संभाली जाएगी
- उपकरण दोनों स्वरूपित (स्पेस के साथ) और अनफॉर्मेटेड IBAN स्वीकार करता है
- मान्यता परिणाम देखें: उपकरण आपके टाइप करते ही IBAN को स्वचालित रूप से मान्य करेगा
- विवरण जांचें: मान्य IBAN के लिए, घटकों का ब्रेकडाउन प्रदर्शित किया जाएगा
- किसी भी त्रुटियों की समीक्षा करें: अमान्य IBAN के लिए, विशिष्ट त्रुटि संदेश समस्या की पहचान करने में मदद करेंगे
उपयोग के मामले
IBAN जनरेटर और वेलिडेटर उपकरण विभिन्न क्षेत्रों में कई उद्देश्यों की सेवा करता है:
सॉफ़्टवेयर विकास और परीक्षण
- API परीक्षण: वास्तविक खाता नंबरों का उपयोग किए बिना वित्तीय APIs का परीक्षण करने के लिए मान्य IBAN उत्पन्न करें
- फॉर्म सत्यापन: वेब फॉर्म और अनुप्रयोगों में IBAN मान्यता तर्क का परीक्षण करें
- एज केस परीक्षण: सत्यापित करें कि अनुप्रयोग विभिन्न देशों के IBAN को कैसे संभालते हैं
- पुनरागमन परीक्षण: सुनिश्चित करें कि सॉफ़्टवेयर अपडेट के बाद IBAN हैंडलिंग सही बनी रहे
वित्तीय अनुप्रयोग विकास
- भुगतान प्रणाली: अंतरराष्ट्रीय भुगतान प्रसंस्करण कार्यक्षमता का परीक्षण करें
- बैंकिंग सॉफ़्टवेयर: IBAN पार्सिंग और मान्यता घटकों को सत्यापित करें
- फिनटेक अनुप्रयोग: अंतरराष्ट्रीय बैंकिंग मानकों के साथ अनुपालन सुनिश्चित करें
- डेटाबेस सिस्टम: IBAN डेटा के भंडारण और पुनर्प्राप्ति का परीक्षण करें
शैक्षिक उद्देश्य
- बैंकिंग मानकों की शिक्षा: दिखाएँ कि IBAN कैसे संरचित और मान्य होते हैं
- वित्तीय साक्षरता: छात्रों को अंतरराष्ट्रीय बैंकिंग पहचानकर्ताओं के बारे में सिखाएँ
- कोडिंग ट्यूटोरियल: मान्यता एल्गोरिदम और वित्तीय डेटा हैंडलिंग के उदाहरण के रूप में उपयोग करें
- तकनीकी दस्तावेज़: API दस्तावेज़ीकरण के लिए उदाहरण IBAN उत्पन्न करें
डेटा माइग्रेशन और रूपांतरण
- विरासत प्रणाली माइग्रेशन: सिस्टम को अपग्रेड करते समय IBAN रूपांतरण प्रक्रियाओं का परीक्षण करें
- डेटा एनोनिमाइजेशन: विकास वातावरण में वास्तविक खाता नंबरों को प्रतिस्थापित करने के लिए परीक्षण IBAN उत्पन्न करें
- डेटाबेस सीडिंग: वित्तीय अनुप्रयोग डेटाबेस के लिए यथार्थवादी परीक्षण डेटा बनाएं
विकल्प
हालांकि हमारा IBAN जनरेटर और वेलिडेटर उपकरण परीक्षण उद्देश्यों के लिए एक सुव्यवस्थित अनुभव प्रदान करता है, विचार करने के लिए वैकल्पिक दृष्टिकोण हैं:
व्यावसायिक बैंकिंग APIs
- फायदे: वास्तविक बैंक रजिस्ट्रियों के खिलाफ अतिरिक्त मान्यता प्रदान करते हैं, अधिक व्यापक वित्तीय सेवाएँ प्रदान करते हैं
- नुकसान: आमतौर पर सदस्यता, API कुंजियों और एकीकरण कार्य की आवश्यकता होती है; उपयोग सीमा हो सकती है
प्रोग्रामिंग भाषाओं के लिए IBAN पुस्तकालय
- फायदे: सीधे आपके कोडबेस में एकीकृत किया जा सकता है, प्रोग्रामेटिक एक्सेस प्रदान करता है
- नुकसान: लागू करने के लिए विकास कार्य की आवश्यकता होती है, मानकों के साथ अद्यतित रहने के लिए नियमित अपडेट की आवश्यकता हो सकती है
आधिकारिक बैंक वेलिडेटर्स
- फायदे: वित्तीय संस्थानों द्वारा प्रदान किया गया, उनके विशेष देश के लिए उच्च सटीकता
- नुकसान: आमतौर पर विशिष्ट देशों तक सीमित, उत्पन्न करने की सुविधाओं का समर्थन नहीं कर सकते
मैनुअल गणना
- फायदे: अंतर्निहित एल्गोरिदम को समझने में मदद करता है, बाहरी उपकरणों पर कोई निर्भरता नहीं
- नुकसान: समय-खपत करने वाला, मानव त्रुटियों के लिए प्रवृत्त, पैमाने पर परीक्षण के लिए अव्यवहारिक
हमारा उपकरण इन विकल्पों के बीच की खाई को भरता है, जो कि उत्पन्न करने और मान्यता के लिए एक सरल, सुलभ इंटरफ़ेस प्रदान करता है बिना तकनीकी एकीकरण या भुगतान की सदस्यता की आवश्यकता के।
सामान्य प्रश्न
IBAN क्या है?
IBAN (अंतर्राष्ट्रीय बैंक खाता संख्या) एक मानकीकृत अंतरराष्ट्रीय संख्या प्रणाली है जो राष्ट्रीय सीमाओं के पार बैंक खातों की पहचान करने के लिए विकसित की गई है। इसे अंतर्राष्ट्रीय लेनदेन को त्रुटि-मुक्त बनाने के लिए अंतर्राष्ट्रीय मानकीकरण संगठन (ISO) द्वारा स्थापित किया गया था।
क्या यह IBAN जनरेटर कितना सटीक है?
IBAN जनरेटर संरचनात्मक रूप से मान्य IBAN उत्पन्न करता है जो ISO 13616 मानक में निर्दिष्ट MOD 97 जांच एल्गोरिदम को पास करता है। जबकि उत्पन्न IBAN गणितीय रूप से मान्य हैं, वे यादृच्छिक हैं और वास्तविक बैंक खातों से जुड़े नहीं हैं, जिससे वे परीक्षण के लिए आदर्श होते हैं लेकिन वास्तविक लेनदेन के लिए नहीं।
इस उपकरण द्वारा कौन से देशों का समर्थन किया जाता है?
यह उपकरण वर्तमान में जर्मनी, यूनाइटेड किंगडम, फ्रांस, स्पेन, इटली, नीदरलैंड, स्विट्ज़रलैंड, ऑस्ट्रिया, बेल्जियम और पोलैंड के लिए IBAN प्रारूपों का समर्थन करता है। ये यूरोप में सबसे सामान्य रूप से उपयोग किए जाने वाले IBAN प्रारूपों को कवर करते हैं।
क्या मैं उत्पन्न IBAN का उपयोग वास्तविक लेनदेन के लिए कर सकता हूँ?
नहीं। इस जनरेटर द्वारा उत्पन्न IBAN संरचनात्मक रूप से मान्य हैं लेकिन यादृच्छिक रूप से उत्पन्न होते हैं। वे वास्तविक बैंक खातों से जुड़े नहीं हैं और केवल परीक्षण, शैक्षिक या प्रदर्शन उद्देश्यों के लिए उपयोग किए जाने चाहिए।
IBAN मान्यता कैसे काम करती है?
वेलिडेटर IBAN के कई पहलुओं की जांच करता है:
- देश कोड की वैधता
- निर्दिष्ट देश के लिए सही लंबाई
- वर्ण प्रकार की वैधता (सही स्थानों पर अक्षर और अंक)
- ISO मानक के अनुसार MOD 97 चेक अंक सत्यापन
क्या 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
IBAN उत्पन्न करना
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
संदर्भ
- ISO 13616-1:2007 - "वित्तीय सेवाएँ - अंतर्राष्ट्रीय बैंक खाता संख्या (IBAN) - भाग 1: IBAN की संरचना"
- यूरोपीय बैंकिंग मानकों का आयोग (ECBS) - "IBAN: अंतर्राष्ट्रीय बैंक खाता संख्या"
- SWIFT - "IBAN रजिस्ट्री"
- यूरोपीय भुगतान परिषद - "IBAN और लेनदार पहचानकर्ता"
- बैंक फॉर इंटरनेशनल सेटलमेंट्स - "भुगतान, क्लियरिंग और निपटान प्रणाली"
- यूरोपीय केंद्रीय बैंक - "सिंगल यूरो पेमेंट्स एरिया (SEPA)"
- ISO 9362 - "बैंकिंग - बैंकिंग टेलीकम्युनिकेशन संदेश - व्यापार पहचान कोड (BIC)"
- ISO 7064 - "सूचना प्रौद्योगिकी - सुरक्षा तकनीक - चेक वर्ण प्रणाली"
निष्कर्ष
IBAN जनरेटर और वेलिडेटर उपकरण अंतरराष्ट्रीय बैंकिंग पहचानकर्ताओं से संबंधित परीक्षण और शैक्षिक उद्देश्यों के लिए एक सरल लेकिन शक्तिशाली समाधान प्रदान करता है। दोनों उत्पन्न करने और मान्यता की क्षमताओं को उपयोगकर्ता के अनुकूल इंटरफ़ेस में पेश करके, यह जटिल कॉन्फ़िगरेशन या तृतीय-पक्ष एकीकरण की आवश्यकता को समाप्त करता है।
चाहे आप वित्तीय अनुप्रयोग विकसित कर रहे हों, भुगतान प्रणालियों का परीक्षण कर रहे हों, या अंतरराष्ट्रीय बैंकिंग मानकों के बारे में सीख रहे हों, यह उपकरण IBAN के साथ काम करने के लिए एक सीधा तरीका प्रदान करता है। व्यापक मान्यता सुनिश्चित करती है कि सभी उत्पन्न IBAN संरचनात्मक रूप से साउंड और अंतरराष्ट्रीय मानकों के अनुपालन में हैं।
अब IBAN उत्पन्न करने या मान्यता करने का प्रयास करें ताकि आप उपकरण की क्षमताओं का अनुभव कर सकें!
प्रतिक्रिया
इस उपकरण के बारे में प्रतिक्रिया देने के लिए प्रतिक्रिया टोस्ट पर क्लिक करें
संबंधित उपकरण
अधिक उपकरणों का पता लगाएँ जो आपके कार्यप्रवाह के लिए उपयोगी हो सकते हैं