IBAN क्या है?
IBAN (International Bank Account Number, अंतरराष्ट्रीय बैंक खाता संख्या) बैंक खाते का नंबर लिखने का मानक तरीक़ा है, ताकि वह सीमाओं के पार भी काम करे: दो अक्षरों का country code, दो check digits, और फिर उस देश के अपने ढाँचे में खाता नंबर। जैसे सऊदी IBAN 24 अक्षरों का होता है और SA से शुरू होता है — SA03 8000 0000 6080 1016 7519, जो SWIFT की IBAN Registry का उदाहरण है। संरचना ISO 13616 तय करता है, हर देश का फ़ॉर्मेट SWIFT के पास दर्ज होता है, और check digits की मदद से कोई भी सिस्टम ग़लत टाइप हुआ IBAN पैसे भेजे जाने से पहले पकड़ लेता है।
यह गाइड IBAN के हर हिस्से, सऊदी फ़ॉर्मेट और उसके लिए SAMA (सऊदी सेंट्रल बैंक) के नियमों, MOD-97 check digits की गणना, और "valid" नतीजा क्या साबित करता है और क्या नहीं — यह सब समझाती है। यह साइट सॉफ़्टवेयर टेस्टिंग के बारे में है, इसलिए आगे बताया गया है कि IBAN input field कैसे टेस्ट करें, कौन-से टेस्ट IBAN इस्तेमाल करना सुरक्षित है, और अंत में कॉपी करने लायक़ checklist है। IBAN Checker यहाँ बताई गई हर जाँच आपके ब्राउज़र में ही चलाता है।
IBAN क्या है और यह कहाँ मिलता है
IBAN एक बैंक खाते की पहचान है। इसे इसलिए बनाया गया कि भुगतान अपने-आप process हो सकें: transfer पाने वाला बैंक नंबर जाँचकर उसे बिना किसी इंसान के पढ़े सही जगह भेज सके, और यही ढाँचा काग़ज़ पर भी काम करे। ISO 13616-1:2020 IBAN के तत्व तय करता है; हर देश का फ़ॉर्मेट standard में नहीं, बल्कि उस IBAN Registry में है जिसे SWIFT, ISO द्वारा नियुक्त registration authority के रूप में प्रकाशित करता है। किसी देश का फ़ॉर्मेट दर्ज कराने या बदलने का अनुरोध सिर्फ़ उस देश की राष्ट्रीय standards संस्था या उसका central bank कर सकता है, इसलिए लंबाई और ढाँचे का आधिकारिक स्रोत यही registry है।
सऊदी अरब, बाक़ी खाड़ी देश, मिस्र, जॉर्डन, पाकिस्तान, यूरोप के देश और कई अन्य देश registry में हैं। अमेरिका, कनाडा, ऑस्ट्रेलिया और भारत नहीं हैं: वहाँ खाते की पहचान account number और बैंक या branch के codes से होती है, इसलिए किसी भारतीय या अमेरिकी खाते का IBAN नहीं होता। अगर आप सऊदी अरब या UAE में काम करते हैं, तो वहाँ के आपके salary account का IBAN है, जो SA या AE से शुरू होता है।
IBAN, SWIFT code नहीं है। BIC (Business Identifier Code, ISO 9362), जिसे लोग अक्सर SWIFT code कहते हैं, किसी बैंक या संस्था की पहचान है, खाते की नहीं: आठ अक्षर — party prefix, country code और suffix — और साथ में तीन अक्षरों का वैकल्पिक branch code। अंतरराष्ट्रीय transfer में दोनों माँगे जा सकते हैं — BIC बताता है कौन-सी संस्था, IBAN बताता है कौन-सा खाता। दोनों में से किसी में खाताधारक का नाम नहीं होता। सॉफ़्टवेयर में IBAN कई जगह आता है:
- Onboarding, payroll और HR फ़ॉर्म जो salary या payout खाता माँगते हैं।
- ERP, accounting और procurement सिस्टम में supplier और payee records, और वे invoices जिन पर बेचने वाले का IBAN छपता है।
- E-commerce, wallets और marketplaces में refund, withdrawal और payout flows।
- Bulk-payment और payroll files जो कंपनी अपने बैंक के लिए बनाती है।
- APIs जो beneficiary का IBAN लेकर बैंक या payment provider तक पहुँचाते हैं।
IBAN की संरचना: country code, check digits और BBAN
हर IBAN के यही तीन हिस्से होते हैं। Country code उस देश का ISO 3166-1 alpha-2 code है जिसके फ़ॉर्मेट पर IBAN बना है (SA, AE, DE)। उसके बाद दो check digits आते हैं जो पूरे नंबर को टाइपिंग की ग़लतियों से बचाते हैं। बाक़ी हिस्सा BBAN (Basic Bank Account Number) है, यानी राष्ट्रीय खाता नंबर, जिसकी लंबाई और ढाँचा हर देश दर्ज कराता है। Registry ढाँचे को एक छोटे notation में लिखती है: n यानी अंक, a यानी बड़े अंग्रेज़ी अक्षर, c यानी अक्षर या अंक, और ! के साथ संख्या यानी ठीक उतने, इसलिए 2!n18!c का मतलब है ठीक दो अंक और उसके बाद ठीक 18 अक्षर या अंक। Registry यह भी बताती है कि BBAN में bank identifier कहाँ है, और कुछ देशों में branch identifier कहाँ है, जैसे ब्रिटेन का sort code।
एक देश के भीतर लंबाई तय होती है, पर देशों के बीच अलग-अलग: नॉर्वे 15 अक्षर, जर्मनी और ब्रिटेन 22, UAE 23, सऊदी अरब और पाकिस्तान 24, मिस्र और क़तर 29, कुवैत और जॉर्डन 30, रूस 33। ISO 13616 अधिकतम 34 की अनुमति देता है। इसलिए length की जाँच के लिए पहले देश चाहिए, और सऊदी IBAN के लिए 24 अक्षरों पर सीमित field हर कुवैती और क़तरी IBAN को काट देता है।
IBAN के दो लिखित रूप होते हैं। Electronic रूप में spaces नहीं होते; इसी को store, compare और दूसरे सिस्टम को send करना चाहिए। Print रूप उसे चार-चार अक्षरों के groups में spaces से अलग करता है, आख़िरी group छोटा हो सकता है, ताकि लोग पढ़ और कॉपी कर सकें; काग़ज़ पर अक्सर उससे पहले IBAN शब्द लिखा होता है। दोनों एक ही IBAN हैं, इसलिए सॉफ़्टवेयर को दोनों स्वीकार करने चाहिए और electronic रूप store करना चाहिए।
One IBAN, two forms (the SWIFT IBAN Registry example for Saudi Arabia)
Electronic SA0380000000608010167519no spaces: store, compare and send this
Print SA03 8000 0000 6080 1016 7519groups of four: show and print this
SA 03 80 000000608010167519
SA country code (ISO 3166-1 alpha-2)
03 check digits, 02 to 98 (ISO/IEC 7064 MOD 97-10)
80 bank code: 2 digits (2!n), characters 5-6
000000608010167519 account number: 18 letters or digits (18!c)
National formats in the SWIFT IBAN Registry, with the registry's own example IBANs
Country Length BBAN layout Bank codeExample
Norway (NO) 15 4!n6!n1!n characters 5-8NO9386011117947
Germany (DE) 22 8!n10!n characters 5-12DE89370400440532013000
United Kingdom (GB) 22 4!a6!n8!n characters 5-8GB29NWBK60161331926819 (sort code 9-14)
United Arab Emirates 23 3!n16!n characters 5-7AE070331234567890123456
Saudi Arabia (SA) 24 2!n18!c characters 5-6SA0380000000608010167519
Pakistan (PK) 24 4!a16!c characters 5-8PK36SCBL0000001123456702
Egypt (EG) 29 4!n4!n17!n characters 5-8EG380019000500000000263180002
Qatar (QA) 29 4!a21!c characters 5-8QA58DOHB00001234567890ABCDEFG
Kuwait (KW) 30 4!a22!c characters 5-8KW81CBKU0000000000001234560101
Layout notation: n = digits, a = upper-case letters, c = letters or digits;
a number with ! = exactly that many. 2!n18!c = exactly 2 digits, then exactly 18 letters or digits.सऊदी IBAN: SA से शुरू होने वाले 24 अक्षर
सऊदी IBAN 24 अक्षरों का होता है और हमेशा SA से शुरू होता है: दो check digits, दो अंकों का bank code, फिर 18 अक्षरों का account number (registry ढाँचा 2!n18!c)। Bank code पाँचवाँ और छठा अक्षर है, इसलिए registry के उदाहरण SA03 8000 0000 6080 1016 7519 में check digits 03 हैं, bank code 80 है और खाते वाला हिस्सा 000000608010167519 है। सऊदी फ़ॉर्मेट में अलग branch code नहीं है, और registry खाते वाले हिस्से को अक्षर या अंक बताती है, इसलिए SA के बाद सिर्फ़ अंक स्वीकार करने वाला field registry से ज़्यादा सख़्त है।
सऊदी सेंट्रल बैंक (SAMA) यह भी तय करता है कि बैंक ग्राहकों को IBAN कैसे दिखाएँ। उसका 2009 का circular "Printed IBAN Account Formats" बैंकों से कहता है कि statements और ग्राहकों के दूसरे दस्तावेज़ों पर IBAN चार-चार अक्षरों के groups में छापें, हर group के बीच एक space या dash हो, जबकि electronic IBAN में कोई separator नहीं होता। 2010 का एक circular बैंकों को अनुमति देता है कि वे ग्राहक को उसका IBAN बैंक के letterhead पर एक certificate में, या claims form के बैंक वाले हिस्से में दें, ताकि हाथ से भरते समय ग़लती न हो। टेस्टिंग के लिए इसका मतलब है: सऊदी यूज़र spaces और dashes दोनों के साथ IBAN paste करेंगे, और जो फ़ॉर्म इनमें से किसी को भी reject करता है, वह सऊदी बैंक का छापा हुआ IBAN reject करता है।
आपका अपना IBAN आपके बैंक से आता है: वह आपके खाते को दिया जाता है और बैंक के app, statements और IBAN certificate पर दिखता है। कोई वेबसाइट personal IBAN generate नहीं कर सकती। Generator सिर्फ़ सही बनावट वाले नंबर बनाता है — सॉफ़्टवेयर टेस्टिंग के लिए उपयोगी, पर पैसे पाने के लिए बेकार, बल्कि नुक़सानदेह। जब प्रोडक्ट सऊदी यूज़र्स के लिए हो, तो ये बातें कवर करें:
- SA के साथ ठीक 24 अक्षर, electronic रूप में और spaces या dashes वाले print रूप में।
- Arabic interface: right-to-left text के भीतर IBAN left to right ही रहे — screen, e-mail और PDF में — और एक अटूट value के रूप में copy हो।
- Arabic keyboard से टाइप हुए Arabic-Indic अंक (٠١٢٣٤٥٦٧٨٩): उन्हें 0–9 में बदलें या साफ़ बताएँ कि वे स्वीकार नहीं हैं।
- अगर फ़ॉर्म बैंक भी अलग से पूछता है, तो टेस्ट करें कि चुना गया बैंक और IBAN के भीतर का bank code अलग हों तो क्या होता है।
- Arabic error messages जो बताएँ कि कौन-सा नियम fail हुआ — length, characters या check digits — सिर्फ़ "invalid" नहीं।
MOD-97 check digits कैसे काम करते हैं
दोनों check digits ISO/IEC 7064 के MOD 97-10 से निकाले जाते हैं — check-character systems का एक परिवार जो डेटा कॉपी या टाइप करते समय लोगों से होने वाली ग़लतियाँ पकड़ने के लिए बना है। IBAN जाँचने के लिए: spaces हटाएँ, पहले चार अक्षर (country code और check digits) आख़िर में ले जाएँ, हर अक्षर को दो अंकों से बदलें (A = 10, B = 11 … Z = 35), नतीजे को एक बड़ी संख्या मानकर 97 से भाग दें। शेषफल (remainder) 1 हो, तो check digits बाक़ी IBAN से मेल खाते हैं।
IBAN जारी करने वाला बैंक यही गणना उलटी दिशा में करता है: check digits की जगह 00 रखता है, remainder निकालता है और उसे 98 में से घटाता है। इसीलिए असली check digits हमेशा 02 से 98 के बीच होते हैं। 00, 01 और 99 कभी जारी नहीं होते, फिर भी उनसे remainder 1 आ सकता है, क्योंकि 97 के modulo में 99, 02 जैसा व्यवहार करता है, 00, 97 जैसा और 01, 98 जैसा। इसलिए validator को remainder के साथ range भी जाँचनी चाहिए।
यह संख्या साधारण गणना के लिए बहुत बड़ी है: सऊदी IBAN 26 अंकों की संख्या बनता है, कुवैती 36 और क़तरी 42 अंकों की। 64-bit floating-point number सिर्फ़ लगभग 15 से 17 significant अंक रखता है, इसलिए JavaScript में Number(…) % 97, या किसी भी भाषा में double, ग़लत remainder देता है — सऊदी उदाहरण के लिए 1 की जगह 27। Big-integer type (JavaScript में BigInt, Java और .NET में BigInteger, Python में int) इस्तेमाल करें, या remainder टुकड़ों में निकालें: पहले नौ अंक लें, उन्हें उनके remainder से बदलें, अगले अंक जोड़ें और दोहराएँ।
MOD-97 check of SA0380000000608010167519 (ISO/IEC 7064 MOD 97-10)
1. Remove spaces, make upper case SA0380000000608010167519
2. Move the first 4 characters to the end 80000000608010167519SA03
3. Letters to numbers (A = 10 ... Z = 35) S = 28, A = 10
80000000608010167519 28 10 03
-> 80000000608010167519281003 (26 digits)
4. Remainder after dividing by 97 80000000608010167519281003 mod 97 = 1
5. Remainder 1: the check digits match the rest of the IBAN
The same remainder in pieces, nine digits at a time (no big-number type needed)
800000006 mod 97 = 72 first nine digits
720801016 mod 97 = 30 72 followed by the next seven digits
307519281 mod 97 = 84 30 followed by the next seven digits
84003 mod 97 = 1 84 followed by the last three digits
How the check digits 03 were computed when the IBAN was issued
80000000608010167519 + SA + 00 -> 80000000608010167519281000
80000000608010167519281000 mod 97 = 95, check digits = 98 - 95 = 03
The precision trap (JavaScript; the same happens with any 64-bit float)
Number("80000000608010167519281003") % 97 -> 27 wrong: 26 digits exceed a double
BigInt("80000000608010167519281003") % 97n -> 1n rightValid IBAN क्या साबित करता है — और क्या नहीं
Valid नतीजे का मतलब है IBAN की बनावट सही है: registry में मौजूद country code, उस देश के लिए सही length और ढाँचा, और मेल खाते check digits। दस देशों के SWIFT registry उदाहरणों पर आज़माने पर MOD-97 जाँच ने हर वह अंक पकड़ा जिसे दूसरे अंक से बदला गया, हर वह अक्षर जिसे दूसरे अक्षर से बदला गया, और दो अलग पड़ोसी अक्षरों की हर अदला-बदली — जो ISO/IEC 7064 में इन systems के बारे में कही गई बात से मेल खाता है; एक साथ दो अक्षर ग़लत होने पर सौ में से लगभग एक variation फिर भी pass हुआ। ISO/IEC 7064 यह भी बताता है कि जाँच किस काम के लिए नहीं है: जान-बूझकर की गई जालसाज़ी पकड़ना इसके दायरे से बाहर है, क्योंकि कोई भी किसी भी account number के लिए सही check digits निकाल सकता है।
इसलिए format check सही पहला दरवाज़ा है — यह टाइपिंग की ग़लतियाँ भुगतान reject या return होने से पहले रोक देता है — लेकिन यह खाते का verification नहीं है। Valid IBAN यह नहीं बता सकता:
- कि खाता मौजूद है, खुला है या पैसे ले सकता है: बंद खाते का IBAN भी पूरी तरह valid होता है।
- खाता किसका है: IBAN में नाम नहीं होता। Beneficiary की पुष्टि पैसे पाने वाले से करें, या payee जोड़ते समय अपने बैंक से।
- बैंक का नाम: bank code IBAN के भीतर है, लेकिन उसे नाम या BIC में बदलने के लिए एक maintained bank directory चाहिए।
- कि राष्ट्रीय account number सही है: कई देश BBAN के भीतर अपने check digits जोड़ते हैं (जैसे फ़्रांस की RIB key, इटली का CIN), जिन्हें MOD-97 कवर नहीं करता।
- कि भुगतान सुरक्षित है: invoice fraud अक्सर किसी जाने-पहचाने supplier के "नए IBAN" वाले e-mail से आता है, और वह IBAN हर जाँच पास कर लेता है। किसी भी बदलाव की पुष्टि ऐसे नंबर या channel से करें जिस पर आप पहले से भरोसा करते हैं।
What the MOD-97 check caught on the SWIFT registry examples
(SA, AE, KW, QA, EG, JO, BH, GB, DE, FR; every variation of each example tried)
One digit replaced by another digit all caught
One letter replaced by another letter all caught
Two different neighbouring characters swapped all 190 caught
Two characters replaced at once 0.94% still pass (sample of 159,504)
A wrong account with check digits computed for it passes: the check is not a security control
SA0380000000608010167519 remainder 1 valid
SA0380000000608010167518 remainder 71 last digit mistyped: invalid
SA0380000000608010167159 remainder 78 5 and 1 swapped: invalidIBAN input field की टेस्टिंग कैसे करें
IBAN field छोटा-सा input है, पर उसके पीछे शर्तों की लंबी सूची है। इसे तीन स्तरों पर टेस्ट करें: input (यूज़र क्या टाइप और paste करते हैं), validation (हर नियम अलग से, ऐसे message के साथ जो बताए कि कौन-सा fail हुआ) और उसके बाद क्या होता है (storage, display, और sandbox में ख़ुद भुगतान)। हर case चलाने से पहले उसका expected result लिखें। कुछ cases — dashes, शुरू में IBAN शब्द, Arabic-Indic अंक — bug नहीं बल्कि product decisions हैं, जब तक कोई उन्हें तय न कर दे, इसलिए requirements review के दौरान इन्हें सवाल के रूप में उठाएँ।
- Valid inputs: प्रोडक्ट जिन देशों को support करता है, उनमें से हर एक, electronic और print रूप में, बड़े और छोटे अक्षरों में।
- Normalization: spaces, IBAN शब्द, dashes, PDF और chat apps से कॉपी हुए invisible characters, और स्थानीय अंक।
- हर नियम का अकेले fail होना: एक अक्षर कम और एक ज़्यादा, जहाँ registry अंक माँगती है वहाँ अक्षर, ग़लत टाइप हुआ अंक, दो पड़ोसी अक्षरों की अदला-बदली, check digits 00, 01 या 99, ऐसा country code जिसका IBAN फ़ॉर्मेट नहीं है, और ऐसा देश जिसे बिज़नेस सेवा नहीं देता।
- Boundaries: support किया गया सबसे छोटा और सबसे लंबा देश, 34 अक्षर, खाली field और बहुत लंबा paste।
- Messages: fail हुए नियम का नाम लें, input बचाए रखें, और format error पर कभी "account not found" न कहें।
- Server side: API, file imports और bulk uploads वही नियम लागू करें; ब्राउज़र वाली जाँच सुविधा है, control नहीं।
- Display और privacy: screen पर चार-चार के groups; logs, e-mails और analytics में IBAN masked हो, और URLs में कभी न जाए।
IBAN field test cases: expected results for a form that accepts Saudi and foreign IBANs
Input Expected
SA0380000000608010167519 accepted
sa03 8000 0000 6080 1016 7519 accepted, stored as SA0380000000608010167519
IBAN SA03 8000 0000 6080 1016 7519 label removed and accepted, or a message (decide)
SA03-8000-0000-6080-1016-7519 dashes removed and accepted, or a message (decide)
SA03 8000 0000 6080 1016 751٩ Arabic-Indic digit read as 9, or a message (decide)
SA0380000000608010167519 + zero-width space accepted after removing the invisible character
SA0380000000608010167518 rejected: check digits do not match (typo)
SA0380000000608010167159 rejected: check digits do not match (5 and 1 swapped)
SA038000000060801016751 rejected: 23 characters, a Saudi IBAN has 24
SAO380000000608010167519 rejected: letter O where the check digits must be digits
check digits 00, 01 or 99 rejected, even when the remainder is 1
US or IN followed by digits rejected: no IBAN format registered for the country
GB29NWBK60161331926819 accepted if foreign IBANs are allowed, else "Saudi IBAN required"
KW81CBKU0000000000001234560101 accepted: 30 characters, so no Saudi-only maxlength
(empty) "IBAN is required" when the field is mandatory
Shape checks with regular expressions (they cannot verify the check digits)
Any IBAN, electronic form ^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$
Saudi IBAN ^SA[0-9]{4}[A-Z0-9]{18}$
UAE IBAN ^AE[0-9]{21}$आज़माएँ: IBAN चेकर आज़माएँ: Regex टेस्टर आज़माएँ: Regex जनरेटर
टेस्ट IBAN: registry के उदाहरण, generators और sandboxes
Test IBAN, testing के लिए valid IBAN या dummy IBAN — ऐसा नंबर है जिसे validator स्वीकार करे और जिसे test environment में इस्तेमाल करना सुरक्षित हो। Regular expression इसका आकार जाँच सकता है — ऊपर वाले patterns — पर check digits नहीं, इसलिए test data ऐसी जगह से आना चाहिए जो उन्हें गणना करके बनाए। इसके तीन स्रोत हैं, हर एक अलग काम के लिए:
- Registry के उदाहरण: IBAN Registry हर देश का एक उदाहरण देती है, जैसे SA0380000000608010167519, DE89370400440532013000 और GB29NWBK60161331926819। ये documentation data हैं जिन्हें हर validator को स्वीकार करना चाहिए, इसलिए unit tests और जल्दी की manual जाँच के लिए यही सही fixed values हैं।
- Generated IBAN: generator सही length, ढाँचे और check digits वाले IBAN बनाता है, मात्रा और विविधता के लिए — कई देशों की सैकड़ों rows, और negative tests के लिए जान-बूझकर ग़लत check digits वाली rows भी। Test IBAN Generator उन देशों में काल्पनिक अक्षर वाले bank codes (TEST, DEMO, MOCK) इस्तेमाल करता है जहाँ bank code अक्षरों का होता है; अंकों वाले bank codes random होते हैं और किसी असली बैंक से मेल खा सकते हैं, इसलिए generated नंबर संयोग से असली खाता भी हो सकता है।
- Sandbox खाते: असली transfer टेस्ट करने के लिए उस बैंक या payment provider के documented test accounts इस्तेमाल करें जिसका sandbox आप call कर रहे हैं। सिर्फ़ वही test environment जानता है कि उसके खाते कैसे व्यवहार करते हैं — accepted, rejected या returned।
IBAN टेस्टिंग checklist और आम ग़लतियाँ
Registry के उदाहरण या generated IBAN पर कभी पैसे न भेजें, और किसी सहकर्मी या ग्राहक का असली IBAN test data में कभी कॉपी न करें: यह निजी वित्तीय डेटा है, और generated या masked values वही काम कर देती हैं। Checklist को test plan या story के acceptance criteria में कॉपी करें और जो लागू न हो उसे काट दें। ये ग़लतियाँ IBAN के defects को आगे निकल जाने देती हैं:
- हर देश के लिए एक ही length: सऊदी IBAN के लिए लिखा field या pattern हर कुवैती, क़तरी और मिस्री IBAN reject कर देता है।
- MOD-97 के लिए floating-point गणना: 17 या ज़्यादा अंकों वाली संख्याओं पर ग़लत remainder, जिससे valid IBAN reject और invalid accept होते हैं।
- Range की जाँच नहीं: check digits 00, 01 और 99 remainder वाला test पास कर लेते हैं।
- बैंक जो छापते हैं उसे reject करना: spaces, dashes, छोटे अक्षर और शुरू में IBAN शब्द।
- "Valid" को "verified" मानना: सिर्फ़ format check के बाद "account verified" वाला हरा निशान।
- सिर्फ़ ब्राउज़र में validation: imports और APIs जाँच को छोड़ देते हैं।
- Test data, logs, bug reports या screenshots में असली IBAN।
IBAN field test checklist
Input
[ ] Spaces, lower case and a leading "IBAN" label accepted and normalized
[ ] Dashes and other separators: removed, or rejected with a clear message
[ ] Arabic-Indic and other native digits: converted to 0-9, or rejected clearly
[ ] Invisible characters from copy and paste (zero-width space, direction marks) removed
[ ] 34 characters plus spaces fit; a longer paste is handled, not silently cut
Validation
[ ] Country code is in the IBAN registry and allowed by the business rule
[ ] Length matches the country (SA 24, AE 23, DE 22, GB 22, QA 29, KW 30 ...)
[ ] BBAN layout matches the registry (digits where digits are required)
[ ] Check digits between 02 and 98, and the MOD-97 remainder is 1
[ ] Big-integer or piecewise arithmetic, never a 64-bit float
[ ] The same rules on the server, for the API and for file imports
[ ] The message names the rule that failed and keeps what the user typed
Storage and display
[ ] Stored in electronic form (no spaces, upper case)
[ ] Shown in groups of four; left to right inside Arabic text
[ ] Masked where the full IBAN is not needed (logs, e-mails, screenshots, analytics)
Beyond the format
[ ] "Valid" never shown as "account verified"
[ ] A change to a saved IBAN confirmed through a channel the owner already uses
[ ] Transfers tested only in the bank's or payment provider's sandbox
[ ] No real customer or employee IBAN in test dataअक्सर पूछे जाने वाले सवाल
IBAN नंबर क्या होता है?
IBAN (International Bank Account Number) एक बैंक खाते की पहचान ऐसे रूप में करता है जो सीमाओं के पार काम करे: दो अक्षरों का country code, दो check digits और राष्ट्रीय account number (BBAN)। संरचना ISO 13616 तय करता है, और हर देश अपनी length और ढाँचा SWIFT द्वारा प्रकाशित IBAN Registry में दर्ज कराता है। सऊदी IBAN ऐसा दिखता है: SA03 8000 0000 6080 1016 7519।
IBAN में कितने अंक होते हैं?
यह देश पर निर्भर है, और IBAN में अंकों के साथ अक्षर भी हो सकते हैं। ISO 13616 अधिकतम 34 अक्षरों की अनुमति देता है; हर देश की एक तय length है: सऊदी अरब 24, UAE 23, जर्मनी और ब्रिटेन 22, क़तर और मिस्र 29, कुवैत और जॉर्डन 30, और नॉर्वे 15।
IBAN की MOD 97 जाँच क्या है?
यह ISO/IEC 7064 की MOD 97-10 जाँच है जो IBAN को टाइपिंग की ग़लतियों से बचाती है। पहले चार अक्षर आख़िर में ले जाएँ, अक्षरों को अंकों से बदलें (A = 10 … Z = 35) और बनी संख्या को 97 से भाग दें: सही IBAN में remainder 1 आता है। Check digits, 00 रखकर निकाले गए remainder को 98 में से घटाकर जारी होते हैं, इसलिए वे हमेशा 02 से 98 के बीच होते हैं।
क्या टेस्टिंग के लिए कोई valid IBAN है?
हाँ। IBAN Registry हर देश का एक उदाहरण देती है — जैसे सऊदी अरब के लिए SA0380000000608010167519, जर्मनी के लिए DE89370400440532013000 और ब्रिटेन के लिए GB29NWBK60161331926819 — और हर validator को इन्हें स्वीकार करना चाहिए। बहुत सारी rows के लिए test IBAN generator इस्तेमाल करें; असली transfers के लिए अपने बैंक या payment provider के sandbox के test accounts। Test IBAN पर कभी पैसे न भेजें।
क्या सऊदी अरब के लिए personal IBAN generate किया जा सकता है?
नहीं। Personal IBAN आपका बैंक आपके खाते को देता है; वह बैंक के app, statements या IBAN certificate पर मिलता है। IBAN generator सिर्फ़ सॉफ़्टवेयर टेस्टिंग के लिए सही बनावट वाले नंबर बनाता है: वे format check पास करते हैं पर आपका खाता नहीं हैं, और random बना नंबर किसी और का भी हो सकता है।
IBAN और SWIFT code में क्या फ़र्क़ है?
IBAN खाते की पहचान है; SWIFT code, जिसका सही नाम BIC (ISO 9362) है, किसी बैंक या संस्था की पहचान है। BIC में 8 अक्षर और 3 अक्षरों का वैकल्पिक branch code होता है, और उसमें account number नहीं होता। अंतरराष्ट्रीय transfers में दोनों माँगे जा सकते हैं।
क्या भारत में IBAN होता है?
नहीं। भारत SWIFT की IBAN Registry में नहीं है, इसलिए भारतीय बैंक खातों का IBAN नहीं होता; उनकी पहचान account number और बैंक के codes से होती है। पर अगर आप सऊदी अरब, UAE या किसी और registry वाले देश में खाता रखते हैं, तो उस खाते का IBAN होता है — जैसे सऊदी अरब में SA से शुरू होने वाले 24 अक्षर।
संदर्भ
- ISO 13616-1:2020 — Financial services — International bank account number (IBAN) — Part 1: Structure of the IBANIBAN का अंतरराष्ट्रीय standard: country code, दो check digits और राष्ट्रीय account number, जो automated processing के लिए बना है और काग़ज़ पर भी चलता है; राष्ट्रीय फ़ॉर्मेट SWIFT registration authority के रूप में रखता है।
- IBAN Registryराष्ट्रीय IBAN फ़ॉर्मेट (हर देश की लंबाई, संरचना और चेक-डिजिट नियम) का आधिकारिक रजिस्टर, ISO 13616 के तहत।
- ISO/IEC 7064:2003 — Information technology — Security techniques — Check character systemsCheck character systems, जिनमें MOD 97-10 भी है, जो strings को कॉपी और टाइप करने की ग़लतियों से बचाते हैं — हर single substitution, लगभग हर transposition — और बनावट से ही जान-बूझकर की गई जालसाज़ी नहीं पकड़ते।
- Printed IBAN Account Formats (circular 301000000391)SAMA बैंकों को निर्देश देता है कि ग्राहकों के लिए IBAN चार-चार अक्षरों के groups में छापें, जिनके बीच space या dash हो; electronic IBAN में कोई separator नहीं होता।
- Providing Bank Customers Their IBAN Numbers (circular 311000022538)SAMA बैंकों को अनुमति देता है कि ग्राहक को IBAN बैंक के letterhead पर certificate में, या claims form के बैंक वाले हिस्से में दें, ताकि हाथ से भरने की ग़लतियाँ न हों।
- Business Identifier Code (BIC)BIC (ISO 9362), जिसे SWIFT registration authority के रूप में जारी करता है: किसी संस्था का 8-अक्षर code — party prefix, country code, suffix — और 3 अक्षरों का वैकल्पिक branch code; यह संस्था की पहचान है, खाते की नहीं।
इस गाइड में बताए गए टूल्स
IBAN ब्राउज़र में ही जाँचें: SWIFT IBAN रजिस्ट्री के अनुसार देश, लंबाई और फ़ॉर्मेट, MOD-97 चेकसम, और उसमें मौजूद बैंक व ब्रांच कोड।
SA, JO, AE, GB, DE और अन्य देशों के लिए वैध चेक डिजिट वाले IBAN जैसे टेस्ट नंबर जनरेट करें — सिर्फ़ वैलिडेशन टेस्टिंग के लिए।
रेगुलर एक्सप्रेशन को लाइव टेस्ट करें — मैच हाइलाइटिंग, कैप्चर ग्रुप और रिप्लेस प्रीव्यू के साथ।
टेस्ट किए हुए पैटर्न की लाइब्रेरी (ईमेल, URL, IP, तारीख़ें, IBAN, सऊदी/जॉर्डन फ़ोन नंबर…) और कस्टम नियमों से रेगुलर एक्सप्रेशन बनाएँ।