পরীক্ষা এবং যাচাইকরণের জন্য আইবিএএন জেনারেটর এবং ভ্যালিডেটর টুল
আমাদের সহজ টুলের সাহায্যে এলোমেলো ফরম্যাট-অনুকূল আইবিএএন তৈরি করুন বা বিদ্যমানগুলোর যাচাইকরণ করুন। আর্থিক অ্যাপ্লিকেশন, ব্যাংকিং সফটওয়্যার এবং শিক্ষামূলক উদ্দেশ্যের জন্য আদর্শ।
আইবিএন জেনারেটর এবং ভ্যালিডেটর
ডকুমেন্টেশন
আইবিএএন জেনারেটর এবং ভ্যালিডেটর টুল
পরিচিতি
আন্তর্জাতিক ব্যাংক অ্যাকাউন্ট নম্বর (আইবিএএন) জেনারেটর এবং ভ্যালিডেটর একটি ব্যাপক টুল যা আর্থিক অ্যাপ্লিকেশন, ব্যাংকিং সফটওয়্যার এবং শিক্ষামূলক প্রসঙ্গে পরীক্ষার এবং যাচাইকরণের উদ্দেশ্যে ডিজাইন করা হয়েছে। এই ব্যবহারকারী-বান্ধব অ্যাপ্লিকেশনটি দুটি মৌলিক বৈশিষ্ট্য সরবরাহ করে: এলোমেলো কিন্তু ফরম্যাট-সঙ্গত আইবিএএন তৈরি করা এবং ব্যবহারকারী-প্রবিষ্ট আইবিএএনগুলির কাঠামোগত অখণ্ডতা যাচাই করা। আপনি যদি একজন ডেভেলপার হন যিনি আর্থিক সফটওয়্যার পরীক্ষা করছেন, একজন কিউএ বিশেষজ্ঞ যিনি ব্যাংকিং অ্যাপ্লিকেশন যাচাই করছেন, অথবা একজন শিক্ষাবিদ যিনি আন্তর্জাতিক ব্যাংকিং মানগুলি ব্যাখ্যা করছেন, তবে এই টুলটি জটিল কনফিগারেশন বা তৃতীয় পক্ষের ইন্টিগ্রেশন ছাড়াই একটি সরল সমাধান প্রদান করে।
আইবিএএন (আন্তর্জাতিক ব্যাংক অ্যাকাউন্ট নম্বর) হল আন্তর্জাতিকভাবে ব্যবহৃত মানক অ্যাকাউন্ট শনাক্তকারী যা আন্তঃসীমান্ত লেনদেনকে সহজতর করতে এবং আন্তর্জাতিক অর্থ স্থানান্তরে ভুল কমাতে ব্যবহৃত হয়। প্রতিটি আইবিএএন একটি দেশ কোড, চেক ডিজিট এবং একটি মৌলিক ব্যাংক অ্যাকাউন্ট নম্বর (বিবিএএন) নিয়ে গঠিত যা দেশ-নির্দিষ্ট ফরম্যাট অনুসরণ করে। আমাদের টুলটি একাধিক দেশের ফরম্যাট সমর্থন করে এবং নিশ্চিত করে যে সমস্ত তৈরি আইবিএএনগুলি আইএসও 13616 মানে উল্লেখিত এমওড 97 যাচাইকরণ অ্যালগরিদম পাস করে।
আইবিএএন কিভাবে কাজ করে
আইবিএএন কাঠামো এবং ফরম্যাট
একটি আইবিএএন সর্বাধিক 34টি অক্ষর নিয়ে গঠিত, যদিও সঠিক দৈর্ঘ্য দেশের উপর নির্ভর করে। মানক কাঠামো অন্তর্ভুক্ত করে:
- দেশ কোড: একটি দুই-অক্ষরের আইএসও 3166-1 অক্ষর-২ কোড (যেমন, জার্মানির জন্য ডিই, যুক্তরাজ্যের জন্য জিবি)
- চেক ডিজিট: দুটি ডিজিট যা এমওড 97 অ্যালগরিদম ব্যবহার করে আইবিএএন যাচাই করতে গণনা করা হয়
- মৌলিক ব্যাংক অ্যাকাউন্ট নম্বর (বিবিএএন): দেশ-নির্দিষ্ট ফরম্যাট যা অন্তর্ভুক্ত করতে পারে:
- ব্যাংক কোড
- শাখা কোড (সোর্ট কোড)
- অ্যাকাউন্ট নম্বর
- জাতীয় চেক ডিজিট
যেমন, একটি জার্মান আইবিএএন DE2!n8!n10!n
কাঠামো অনুসরণ করে যেখানে:
DE
হল দেশ কোড2!n
দুটি সংখ্যাসূচক চেক ডিজিট উপস্থাপন করে8!n
একটি আট-সংখ্যার ব্যাংক কোড উপস্থাপন করে10!n
একটি দশ-সংখ্যার অ্যাকাউন্ট নম্বর উপস্থাপন করে
বিভিন্ন দেশের বিভিন্ন বিবিএএন ফরম্যাট রয়েছে, যার ফলে আইবিএএন দৈর্ঘ্য পরিবর্তিত হয়:
দেশ | দৈর্ঘ্য | কাঠামো | উদাহরণ |
---|---|---|---|
জার্মানি (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 |
আইবিএএন যাচাইকরণ অ্যালগরিদম
আইবিএএন যাচাইকরণ প্রক্রিয়া এমওড 97 অ্যালগরিদম ব্যবহার করে যা আইএসও 7064 মানে উল্লেখিত। এটি কিভাবে কাজ করে:
- প্রথম চারটি অক্ষর (দেশ কোড এবং চেক ডিজিট) আইবিএএনের শেষে স্থানান্তর করুন
- সমস্ত অক্ষরকে সংখ্যায় রূপান্তর করুন (A=10, B=11, ..., Z=35)
- ফলস্বরূপ সংখ্যার মোড 97 গণনা করুন
- যদি অবশিষ্টাংশ 1 হয়, তবে আইবিএএনটি বৈধ
গণিতের ভাষায়, এটি নিম্নরূপ উপস্থাপন করা হয়:
আমাদের ভ্যালিডেটর এই অ্যালগরিদমটি ব্যবহার করে ব্যবহারকারীদের দ্বারা প্রবিষ্ট যেকোনো আইবিএএনের কাঠামোগত অখণ্ডতা যাচাই করতে।
টুল বৈশিষ্ট্য
আইবিএএন জেনারেটর
আইবিএএন জেনারেটর পরীক্ষার উদ্দেশ্যে এলোমেলো কিন্তু বৈধ আইবিএএন তৈরি করে। প্রধান বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে:
- দেশ নির্বাচন: জার্মানি, যুক্তরাজ্য, ফ্রান্স, স্পেন, ইতালি, নেদারল্যান্ডস, সুইজারল্যান্ড, অস্ট্রিয়া, বেলজিয়াম এবং পোল্যান্ডসহ একাধিক সমর্থিত দেশের মধ্যে থেকে নির্বাচন করুন
- ফরম্যাট সম্মতি: সমস্ত তৈরি আইবিএএন দেশ-নির্দিষ্ট ফরম্যাট অনুসরণ করে এবং এমওড 97 যাচাইকরণ পাস করে
- এক-ক্লিক জেনারেশন: একটি বোতাম ক্লিকের মাধ্যমে বৈধ আইবিএএন তৈরি করুন
- ক্লিপবোর্ডে কপি করুন: পরীক্ষার পরিস্থিতিতে ব্যবহারের জন্য সহজেই তৈরি আইবিএএনগুলি কপি করুন
- ভিজ্যুয়াল উপস্থাপন: আইবিএএন উপাদানগুলির (দেশ কোড, চেক ডিজিট, ব্যাংক বিস্তারিত) রঙ-কোডিত বিভাজন দেখুন
জেনারেটরটি আইবিএন তৈরি করে:
- উপযুক্ত দেশের ফরম্যাট নির্বাচন করা
- বিবিএএন অংশের জন্য এলোমেলো ডিজিট তৈরি করা
- এমওড 97 অ্যালগরিদম ব্যবহার করে সঠিক চেক ডিজিট গণনা করা
- সম্পূর্ণ আইবিএএন একত্রিত করা
আইবিএএন ভ্যালিডেটর
আইবিএএন ভ্যালিডেটর ব্যবহারকারীদের দ্বারা প্রবিষ্ট আইবিএএনগুলির কাঠামোগত অখণ্ডতা যাচাই করে। প্রধান বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে:
- ফরম্যাট যাচাইকরণ: যাচাই করে যে আইবিএএন সঠিক দেশ-নির্দিষ্ট ফরম্যাট অনুসরণ করে
- এমওড 97 যাচাইকরণ: স্ট্যান্ডার্ড অ্যালগরিদম ব্যবহার করে চেক ডিজিট যাচাই করে
- বিস্তারিত বিভাজন: বৈধ আইবিএএনগুলির উপাদানগুলি (দেশ কোড, চেক ডিজিট, ব্যাংক কোড, অ্যাকাউন্ট নম্বর) প্রদর্শন করে
- ত্রুটি শনাক্তকরণ: অবৈধ আইবিএএনগুলির জন্য নির্দিষ্ট ত্রুটি বার্তা প্রদান করে
- ফরম্যাটিং সহায়তা: পড়ার সুবিধার জন্য প্রবিষ্ট আইবিএএনগুলি স্বয়ংক্রিয়ভাবে ফরম্যাট করে
ভ্যালিডেটরটি একাধিক পরীক্ষা করে:
- যাচাই করে যে দেশ কোড সমর্থিত
- নির্দিষ্ট দেশের জন্য আইবিএএন দৈর্ঘ্য যাচাই করে
- অক্ষরের প্রকার (সঠিক অবস্থানে অক্ষর এবং সংখ্যা) যাচাই করে
- চেক ডিজিট যাচাই করতে এমওড 97 পরীক্ষা করে
পদক্ষেপ-দ্বারা-পদক্ষেপ গাইড
একটি আইবিএএন তৈরি করা
- জেনারেটর ট্যাবে প্রবেশ করুন: "জেনারেটর" ট্যাবে ক্লিক করুন (ডিফল্টভাবে নির্বাচিত)
- একটি দেশ নির্বাচন করুন: ড্রপডাউন মেনু থেকে আপনার পছন্দের দেশ নির্বাচন করুন
- আইবিএএন তৈরি করুন: "আইবিএএন তৈরি করুন" বোতামে ক্লিক করুন
- ফলাফল দেখুন: তৈরি আইবিএএনটি নিচে একটি ভিজ্যুয়াল বিভাজনের সাথে প্রদর্শিত হবে
- ক্লিপবোর্ডে কপি করুন: অন্য কোথাও ব্যবহারের জন্য আইবিএএনটি কপি করতে "ক্লিপবোর্ডে কপি করুন" বোতামে ক্লিক করুন
একটি আইবিএএন যাচাই করা
- ভ্যালিডেটর ট্যাবে প্রবেশ করুন: "ভ্যালিডেটর" ট্যাবে ক্লিক করুন
- একটি আইবিএএন প্রবেশ করুন: একটি আইবিএএন ইনপুট ফিল্ডে টাইপ বা পেস্ট করুন
- স্পেস এবং ফরম্যাট স্বয়ংক্রিয়ভাবে পরিচালিত হবে
- টুলটি উভয় ফরম্যাটেড (স্পেস সহ) এবং অ-ফরম্যাটেড আইবিএএন গ্রহণ করে
- যাচাইকরণের ফলাফল দেখুন: টুলটি আপনার টাইপ করার সাথে সাথে স্বয়ংক্রিয়ভাবে আইবিএএনটি যাচাই করবে
- বিস্তারিত পরীক্ষা করুন: বৈধ আইবিএএনগুলির জন্য, উপাদানগুলির একটি বিভাজন প্রদর্শিত হবে
- যেকোনো ত্রুটি পর্যালোচনা করুন: অবৈধ আইবিএএনগুলির জন্য, নির্দিষ্ট ত্রুটি বার্তা সমস্যা চিহ্নিত করতে সহায়তা করবে
ব্যবহার কেস
আইবিএএন জেনারেটর এবং ভ্যালিডেটর টুলটি বিভিন্ন ডোমেইনে একাধিক উদ্দেশ্যে কাজ করে:
সফটওয়্যার ডেভেলপমেন্ট এবং টেস্টিং
- এপিআই টেস্টিং: বাস্তব অ্যাকাউন্ট নম্বর ব্যবহার না করে আর্থিক এপিআইগুলির জন্য বৈধ আইবিএএন তৈরি করুন
- ফর্ম ভ্যালিডেশন: ওয়েব ফর্ম এবং অ্যাপ্লিকেশনগুলিতে আইবিএএন যাচাইকরণ লজিক পরীক্ষা করুন
- এজ কেস টেস্টিং: যাচাই করুন কিভাবে অ্যাপ্লিকেশনগুলি বিভিন্ন দেশের আইবিএএন পরিচালনা করে
- রিগ্রেশন টেস্টিং: নিশ্চিত করুন যে সফটওয়্যার আপডেটের পরে আইবিএএন পরিচালনা সঠিক থাকে
আর্থিক অ্যাপ্লিকেশন ডেভেলপমেন্ট
- পেমেন্ট সিস্টেম: আন্তর্জাতিক পেমেন্ট প্রসেসিং কার্যকারিতা পরীক্ষা করুন
- ব্যাংকিং সফটওয়্যার: আইবিএএন পার্সিং এবং যাচাইকরণ উপাদানগুলি যাচাই করুন
- ফিনটেক অ্যাপ্লিকেশন: আন্তর্জাতিক ব্যাংকিং মানের সাথে সম্মতি নিশ্চিত করুন
- ডেটাবেস সিস্টেম: আইবিএএন ডেটার সংরক্ষণ এবং পুনরুদ্ধার পরীক্ষা করুন
শিক্ষামূলক উদ্দেশ্যে
- ব্যাংকিং মান শিক্ষা: দেখান কিভাবে আইবিএএন গঠন এবং যাচাই করা হয়
- আর্থিক সাক্ষরতা: শিক্ষার্থীদের আন্তর্জাতিক ব্যাংকিং শনাক্তকারীদের সম্পর্কে শেখান
- কোডিং টিউটোরিয়াল: যাচাইকরণ অ্যালগরিদম এবং আর্থিক ডেটা পরিচালনার উদাহরণ হিসাবে ব্যবহার করুন
- প্রযুক্তিগত ডকুমেন্টেশন: এপিআই ডকুমেন্টেশনের জন্য উদাহরণ আইবিএএন তৈরি করুন
ডেটা মাইগ্রেশন এবং রূপান্তর
- লেগেসি সিস্টেম মাইগ্রেশন: সিস্টেম আপগ্রেড করার সময় আইবিএএন রূপান্তর প্রক্রিয়া পরীক্ষা করুন
- ডেটা অ্যানোনিমাইজেশন: উন্নয়ন পরিবেশে বাস্তব অ্যাকাউন্ট নম্বর প্রতিস্থাপন করতে পরীক্ষামূলক আইবিএএন তৈরি করুন
- ডেটাবেস সিডিং: আর্থিক অ্যাপ্লিকেশন ডেটাবেসের জন্য বাস্তবসম্মত পরীক্ষার ডেটা তৈরি করুন
বিকল্পগুলি
যদিও আমাদের আইবিএএন জেনারেটর এবং ভ্যালিডেটর টুলটি পরীক্ষার উদ্দেশ্যে একটি সরলীকৃত অভিজ্ঞতা প্রদান করে, তবে বিবেচনার জন্য বিকল্প পদ্ধতিগুলি রয়েছে:
বাণিজ্যিক ব্যাংকিং এপিআই
- পেশাদার: বাস্তব ব্যাংক রেজিস্ট্রির বিরুদ্ধে অতিরিক্ত যাচাইকরণ প্রদান করে, আরও ব্যাপক আর্থিক পরিষেবাদি সরবরাহ করে
- বিপরীত: সাধারণত সাবস্ক্রিপশন, এপিআই কী এবং ইন্টিগ্রেশন কাজ প্রয়োজন; ব্যবহার সীমা থাকতে পারে
প্রোগ্রামিং ভাষার জন্য আইবিএএন লাইব্রেরি
- পেশাদার: আপনার কোডবেসে সরাসরি ইন্টিগ্রেট করা যেতে পারে, প্রোগ্রাম্যাটিক অ্যাক্সেস অফার করে
- বিপরীত: বাস্তবায়নের জন্য উন্নয়ন কাজ প্রয়োজন, মানগুলির সাথে আপ-টু-ডেট থাকতে নিয়মিত আপডেট প্রয়োজন
অফিসিয়াল ব্যাংক ভ্যালিডেটর
- পেশাদার: আর্থিক প্রতিষ্ঠানের দ্বারা প্রদান করা হয়, তাদের নির্দিষ্ট দেশের জন্য উচ্চ সঠিকতা
- বিপরীত: সাধারণত নির্দিষ্ট দেশের জন্য সীমাবদ্ধ, তৈরি বৈশিষ্ট্যগুলি সমর্থন নাও করতে পারে
ম্যানুয়াল গণনা
- পেশাদার: মৌলিক অ্যালগরিদম বোঝার জন্য সহায়তা করে, বাইরের টুলগুলির উপর নির্ভরতা নেই
- বিপরীত: সময়সাপেক্ষ, মানুষের ভুলের প্রতি সংবেদনশীল, স্কেলে পরীক্ষার জন্য অপ্রয়োজনীয়
আমাদের টুলটি এই বিকল্পগুলির মধ্যে ব্যবধান পূরণ করে একটি সহজ, অ্যাক্সেসযোগ্য ইন্টারফেস প্রদান করে উভয় জেনারেশন এবং যাচাইকরণের জন্য, প্রযুক্তিগত ইন্টিগ্রেশন বা অর্থপ্রদান সাবস্ক্রিপশন ছাড়াই।
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
আইবিএএন কি?
আইবিএএন (আন্তর্জাতিক ব্যাংক অ্যাকাউন্ট নম্বর) একটি মানক আন্তর্জাতিক নম্বরিং সিস্টেম যা জাতীয় সীমানা অতিক্রম করে ব্যাংক অ্যাকাউন্টগুলি চিহ্নিত করতে বিকাশিত হয়েছে। এটি আন্তর্জাতিক লেনদেনকে ত্রুটি মুক্ত করতে সহায়তা করার জন্য আন্তর্জাতিক মান সংস্থা (আইএসও) দ্বারা প্রতিষ্ঠিত হয়েছিল।
এই আইবিএএন জেনারেটরের সঠিকতা কত?
আইবিএএন জেনারেটর কাঠামোগতভাবে বৈধ আইবিএএন তৈরি করে যা আইএসও 13616 মানে উল্লেখিত এমওড 97 পরীক্ষা অ্যালগরিদম পাস করে। যদিও তৈরি আইবিএএনগুলি গাণিতিকভাবে বৈধ, সেগুলি এলোমেলো এবং বাস্তব ব্যাংক অ্যাকাউন্টের সাথে সংযুক্ত নয়, যা সেগুলিকে পরীক্ষার জন্য নিখুঁত করে কিন্তু বাস্তব লেনদেনের জন্য নয়।
এই টুল দ্বারা কোন কোন দেশ সমর্থিত?
এই টুলটি বর্তমানে জার্মানি, যুক্তরাজ্য, ফ্রান্স, স্পেন, ইতালি, নেদারল্যান্ডস, সুইজারল্যান্ড, অস্ট্রিয়া, বেলজিয়াম এবং পোল্যান্ডের জন্য আইবিএএন ফরম্যাট সমর্থন করে। এগুলি ইউরোপে সবচেয়ে সাধারণভাবে ব্যবহৃত আইবিএএন ফরম্যাটগুলি কভার করে।
আমি কি তৈরি আইবিএএনগুলি বাস্তব লেনদেনের জন্য ব্যবহার করতে পারি?
না। এই জেনারেটরের দ্বারা তৈরি আইবিএএনগুলি কাঠামোগতভাবে বৈধ কিন্তু এলোমেলোভাবে তৈরি। এগুলি বাস্তব ব্যাংক অ্যাকাউন্টের সাথে সংযুক্ত নয় এবং শুধুমাত্র পরীক্ষার, শিক্ষামূলক, বা প্রদর্শন উদ্দেশ্যে ব্যবহার করা উচিত।
আইবিএএন যাচাইকরণ কিভাবে কাজ করে?
ভ্যালিডেটর আইবিএএনের কয়েকটি দিক পরীক্ষা করে:
- দেশ কোডের বৈধতা
- নির্দিষ্ট দেশের জন্য সঠিক দৈর্ঘ্য
- অক্ষরের প্রকারের বৈধতা (সঠিক অবস্থানে অক্ষর এবং সংখ্যা)
- আইএসও মান অনুযায়ী এমওড 97 চেক ডিজিট যাচাইকরণ
আইবিএএনে স্পেস কি গুরুত্বপূর্ণ?
না। যদিও আইবিএএনগুলি প্রায়শই পড়ার সুবিধার্থে স্পেস সহ প্রদর্শিত হয় (সাধারণত চারটি অক্ষরের গ্রুপে), যাচাইকরণের সময় স্পেসগুলি উপেক্ষা করা হয়। আমাদের টুল উভয় ফরম্যাটেড এবং অ-ফরম্যাটেড আইবিএএন পরিচালনা করে।
আমি কি এই টুল ব্যবহার করার সময় আমার আইবিএএন ডেটা সংরক্ষণ বা শেয়ার করা হয়?
না। এই টুলটি সম্পূর্ণরূপে আপনার ব্রাউজারে কাজ করে। কোন আইবিএএন ডেটা কোনও সার্ভারে পাঠানো হয় না, সংরক্ষিত হয় না, বা তৃতীয় পক্ষের সাথে শেয়ার করা হয় না। আপনার ডেটা ব্যক্তিগত এবং নিরাপদ থাকে।
আমি কি ড্রপডাউন তালিকায় নেই এমন দেশগুলির আইবিএএন যাচাই করতে পারি?
বর্তমানে, টুলটি শুধুমাত্র ড্রপডাউন তালিকায় সমর্থিত দেশগুলির আইবিএএন যাচাই করে। যদি আপনাকে অতিরিক্ত দেশগুলির জন্য যাচাইকরণের প্রয়োজন হয়, তবে দয়া করে আমাদের ফিডব্যাক ফর্মের মাধ্যমে জানান।
কেন একটি বৈধ দেখানো আইবিএএন যাচাইকরণে ব্যর্থ হতে পারে?
একটি আইবিএএন যাচাইকরণে ব্যর্থ হতে পারে একাধিক কারণে:
- ভুল চেক ডিজিট
- নির্দিষ্ট দেশের জন্য ভুল দৈর্ঘ্য
- নির্দিষ্ট অবস্থানে অবৈধ অক্ষর
- টাইপো বা স্থানান্তর ত্রুটি
- দেশের কোড টুল দ্বারা সমর্থিত নয়
আমি কিভাবে সমস্যা রিপোর্ট করতে বা উন্নতির জন্য পরামর্শ দিতে পারি?
আমরা টুলটি উন্নত করার জন্য ফিডব্যাক স্বাগত জানাই। দয়া করে পৃষ্ঠার নিচে দেওয়া লিঙ্কের মাধ্যমে অ্যাক্সেসযোগ্য ফিডব্যাক ফর্ম ব্যবহার করে যেকোনো সমস্যা রিপোর্ট করতে বা উন্নতির জন্য পরামর্শ দিতে পারেন।
প্রযুক্তিগত বাস্তবায়ন
ডেভেলপারদের জন্য যারা তাদের নিজস্ব অ্যাপ্লিকেশনগুলিতে আইবিএএন যাচাইকরণ এবং জেনারেশন বাস্তবায়নে আগ্রহী, এখানে বিভিন্ন প্রোগ্রামিং ভাষায় কোড উদাহরণ রয়েছে:
আইবিএএন যাচাইকরণ
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 // মোড 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 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
আইবিএএন জেনারেশন
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(`Country code ${countryCode} not supported`);
11 }
12
13 // দেশের ফরম্যাটের উপর ভিত্তি করে এলোমেলো বিবিএএন তৈরি করুন
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' চেক ডিজিট সহ প্রাথমিক আইবিএএন তৈরি করুন
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')); // একটি বৈধ জার্মান আইবিএএন তৈরি করে
78console.log(generateIban('GB')); // একটি বৈধ যুক্তরাজ্যের আইবিএএন তৈরি করে
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 {country_code} not supported")
14
15 # দেশের ফরম্যাটের উপর ভিত্তি করে এলোমেলো বিবিএএন তৈরি করুন
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')) # একটি বৈধ জার্মান আইবিএএন তৈরি করে
58print(generate_iban('GB')) # একটি বৈধ যুক্তরাজ্যের আইবিএএন তৈরি করে
59
রেফারেন্স
- আইএসও 13616-1:2007 - "আর্থিক পরিষেবাদি - আন্তর্জাতিক ব্যাংক অ্যাকাউন্ট নম্বর (আইবিএএন) - অংশ 1: আইবিএএনের কাঠামো"
- ইউরোপীয় ব্যাংকিং স্ট্যান্ডার্ডস কমিটি (ইসিবিএস) - "আইবিএএন: আন্তর্জাতিক ব্যাংক অ্যাকাউন্ট নম্বর"
- সুইফট - "আইবিএএন রেজিস্ট্রি"
- ইউরোপীয় পেমেন্টস কাউন্সিল - "আইবিএএন এবং ক্রেডিটর আইডেন্টিফায়ার"
- ব্যাংক ফর আন্তর্জাতিক সেটেলমেন্টস - "পেমেন্ট, ক্লিয়ারিং এবং সেটেলমেন্ট সিস্টেম"
- ইউরোপীয় কেন্দ্রীয় ব্যাংক - "একক ইউরো পেমেন্টস এলাকা (সেপা)"
- আইএসও 9362 - "ব্যাংকিং - ব্যাংকিং টেলিযোগাযোগ বার্তা - ব্যবসায়িক শনাক্তকারী কোড (বিআইসি)"
- আইএসও 7064 - "তথ্য প্রযুক্তি - নিরাপত্তা প্রযুক্তি - চেক অক্ষর সিস্টেম"
উপসংহার
আইবিএএন জেনারেটর এবং ভ্যালিডেটর টুলটি আন্তর্জাতিক ব্যাংকিং শনাক্তকারীদের সাথে সম্পর্কিত পরীক্ষার এবং শিক্ষামূলক উদ্দেশ্যে একটি সহজ কিন্তু শক্তিশালী সমাধান প্রদান করে। উভয় জেনারেশন এবং যাচাইকরণের ক্ষমতা একটি ব্যবহারকারী-বান্ধব ইন্টারফেসে সরবরাহ করে, এটি জটিল কনফিগারেশন বা তৃতীয় পক্ষের ইন্টিগ্রেশন ছাড়াই।
আপনি যদি আর্থিক অ্যাপ্লিকেশন তৈরি করছেন, পেমেন্ট সিস্টেম পরীক্ষা করছেন, বা আন্তর্জাতিক ব্যাংকিং মানগুলি সম্পর্কে শিখছেন, তবে এই টুলটি আইবিএএনগুলির সাথে কাজ করার একটি সরল উপায় প্রদান করে। ব্যাপক যাচাইকরণ নিশ্চিত করে যে সমস্ত তৈরি আইবিএএন কাঠামোগতভাবে সঠিক এবং আন্তর্জাতিক মানের সাথে সামঞ্জস্যপূর্ণ।
এখন একটি আইবিএএন তৈরি বা যাচাই করার চেষ্টা করুন এবং টুলটির ক্ষমতা firsthand অভিজ্ঞতা করুন!
প্রতিক্রিয়া
এই টুল সম্পর্কে প্রতিক্রিয়া দিতে শুরু করতে প্রতিক্রিয়া টোস্টে ক্লিক করুন
সম্পর্কিত টুলস
আপনার কাজের প্রবাহের জন্য উপকারী হতে পারে এমন আরও টুল আবিষ্কার করুন