🛠️

Whiz Tools

Build • Create • Innovate

أداة توليد والتحقق من رقم الحساب المصرفي الدولي (IBAN) للاختبار والتحقق

قم بإنشاء أرقام IBAN عشوائية متوافقة مع التنسيق أو تحقق من الأرقام الموجودة باستخدام أداتنا البسيطة. مثالي لاختبار التطبيقات المالية، وبرامج البنوك، والأغراض التعليمية.

مولد ومحقق IBAN

📚

الوثائق

أداة توليد والتحقق من رقم الحساب المصرفي الدولي (IBAN)

مقدمة

أداة توليد والتحقق من رقم الحساب المصرفي الدولي (IBAN) هي أداة شاملة مصممة لأغراض الاختبار والتحقق في التطبيقات المالية، وبرامج البنوك، والسياقات التعليمية. تقدم هذه التطبيق السهل الاستخدام ميزتين أساسيتين: توليد أرقام IBAN عشوائية ولكن متوافقة مع الصيغة، والتحقق من سلامة الهيكل لأرقام IBAN المدخلة من قبل المستخدمين. سواء كنت مطورًا تختبر برامج مالية، أو متخصصًا في ضمان الجودة يتحقق من تطبيقات البنوك، أو معلمًا يشرح معايير البنوك الدولية، توفر لك هذه الأداة حلاً بسيطًا دون الحاجة إلى تكوينات معقدة أو تكاملات مع أطراف ثالثة.

تُستخدم أرقام IBAN (أرقام الحساب المصرفي الدولي) كمعرفات حساب موحدة تُستخدم دوليًا لتسهيل المعاملات عبر الحدود وتقليل الأخطاء في التحويلات المالية الدولية. يتكون كل IBAN من رمز بلد، وأرقام تحقق، ورقم حساب مصرفي أساسي (BBAN) يتبع تنسيقات محددة حسب البلد. تدعم أداتنا تنسيقات متعددة للدول وتضمن أن جميع أرقام IBAN المولدة تمر بخوارزمية التحقق MOD 97 المحددة في معيار ISO 13616.

كيف تعمل أرقام IBAN

هيكل وصيغة IBAN

يتكون IBAN من ما يصل إلى 34 حرفًا أبجديًا رقميًا، على الرغم من أن الطول الدقيق يختلف حسب البلد. يتضمن الهيكل القياسي:

  1. رمز البلد: رمز أبجدي من حرفين وفقًا لمعيار ISO 3166-1 (مثل DE لألمانيا، GB للمملكة المتحدة)
  2. أرقام التحقق: رقمين يتم حسابهما باستخدام خوارزمية MOD 97 للتحقق من صحة IBAN
  3. رقم الحساب المصرفي الأساسي (BBAN): تنسيق محدد حسب البلد قد يتضمن:
    • رمز البنك
    • رمز الفرع (رمز الفرز)
    • رقم الحساب
    • أرقام تحقق وطنية

على سبيل المثال، يتبع IBAN الألماني الهيكل DE2!n8!n10!n حيث:

  • DE هو رمز البلد
  • 2!n يمثل رقمين رقميين للتحقق
  • 8!n يمثل رمز بنك مكون من ثمانية أرقام
  • 10!n يمثل رقم حساب مكون من عشرة أرقام

تختلف البلدان في تنسيقات BBAN الخاصة بها، مما يؤدي إلى أطوال IBAN مختلفة:

البلدالطولالهيكلالمثال
ألمانيا (DE)22DE2!n8!n10!nDE89370400440532013000
المملكة المتحدة (GB)22GB2!n4!a6!n8!nGB29NWBK60161331926819
فرنسا (FR)27FR2!n5!n5!n11!c2!nFR1420041010050500013M02606
إسبانيا (ES)24ES2!n4!n4!n1!n1!n10!nES9121000418450200051332
إيطاليا (IT)27IT2!n1!a5!n5!n12!cIT60X0542811101000000123456

خوارزمية التحقق من IBAN

تستخدم عملية التحقق من IBAN خوارزمية MOD 97 كما هو محدد في معيار ISO 7064. إليك كيف تعمل:

  1. نقل الأحرف الأربعة الأولى (رمز البلد وأرقام التحقق) إلى نهاية IBAN
  2. تحويل جميع الأحرف إلى أرقام (A=10، B=11، ...، Z=35)
  3. حساب باقي القسمة 97 للرقم الناتج
  4. إذا كانت النتيجة تساوي 1، فإن IBAN صالح

رياضيًا، يتم تمثيل ذلك كالتالي:

رقم IBANmod97=1\text{رقم IBAN} \bmod 97 = 1

تقوم أداة التحقق لدينا بتنفيذ هذه الخوارزمية للتحقق من سلامة الهيكل لأي IBAN يتم إدخاله من قبل المستخدمين.

ميزات الأداة

مولد IBAN

يقوم مولد IBAN بإنشاء أرقام IBAN عشوائية ولكن صالحة لأغراض الاختبار. تشمل الميزات الرئيسية:

  • اختيار البلد: اختر من بين عدة دول مدعومة بما في ذلك ألمانيا، المملكة المتحدة، فرنسا، إسبانيا، إيطاليا، هولندا، سويسرا، النمسا، بلجيكا، وبولندا
  • امتثال الصيغة: جميع أرقام IBAN المولدة تتبع التنسيقات المحددة حسب البلد وتنجح في التحقق من MOD 97
  • توليد بنقرة واحدة: قم بإنشاء أرقام IBAN صالحة على الفور بنقرة زر واحدة
  • نسخ إلى الحافظة: انسخ بسهولة أرقام IBAN المولدة للاستخدام في سيناريوهات الاختبار
  • تمثيل بصري: شاهد تحليلًا ملونًا لمكونات IBAN (رمز البلد، أرقام التحقق، تفاصيل البنك)

يقوم المولد بإنشاء أرقام IBAN من خلال:

  1. اختيار تنسيق البلد المناسب
  2. إنشاء أرقام عشوائية لجزء BBAN
  3. حساب أرقام التحقق الصحيحة باستخدام خوارزمية MOD 97
  4. تجميع IBAN الكامل

Validator IBAN

يتحقق Validator IBAN من سلامة الهيكل لأرقام IBAN المدخلة من قبل المستخدمين. تشمل الميزات الرئيسية:

  • التحقق من الصيغة: يتحقق مما إذا كان IBAN يتبع الصيغة الصحيحة المحددة حسب البلد
  • التحقق من MOD 97: يتحقق من أرقام التحقق باستخدام الخوارزمية القياسية
  • تحليل تفصيلي: يعرض مكونات IBANs الصالحة (رمز البلد، أرقام التحقق، رمز البنك، رقم الحساب)
  • تحديد الأخطاء: يوفر رسائل خطأ محددة لأرقام IBAN غير الصالحة
  • مساعدة في التنسيق: يقوم تلقائيًا بتنسيق أرقام IBAN المدخلة لتحسين القراءة

يقوم Validator بإجراء عدة فحوصات:

  1. يتحقق من أن رمز البلد مدعوم
  2. يتحقق من طول IBAN مقابل متطلبات البلد المحددة
  3. يتحقق من صحة أنواع الأحرف (الأحرف والأرقام في المواضع الصحيحة)
  4. يقوم بإجراء التحقق من MOD 97 للتحقق من أرقام التحقق

دليل خطوة بخطوة

توليد IBAN

  1. الوصول إلى علامة التبويب المولد: انقر على علامة التبويب "المولد" (المحددة بشكل افتراضي)
  2. اختيار بلد: اختر بلدك المطلوب من القائمة المنسدلة
  3. توليد IBAN: انقر على زر "توليد IBAN"
  4. عرض النتيجة: سيظهر IBAN المولد أدناه مع تحليل بصري لمكوناته
  5. نسخ إلى الحافظة: انقر على زر "نسخ إلى الحافظة" لنسخ IBAN للاستخدام في أماكن أخرى

التحقق من IBAN

  1. الوصول إلى علامة التبويب Validator: انقر على علامة التبويب "التحقق"
  2. إدخال IBAN: اكتب أو الصق IBAN في حقل الإدخال
    • سيتم التعامل تلقائيًا مع المسافات والتنسيق
    • تقبل الأداة كل من IBANs المنسقة (مع المسافات) وغير المنسقة
  3. عرض نتائج التحقق: ستقوم الأداة بالتحقق من IBAN تلقائيًا أثناء الكتابة
  4. تحقق من التفاصيل: بالنسبة لأرقام IBAN الصالحة، سيتم عرض تحليل لمكوناتها
  5. مراجعة أي أخطاء: بالنسبة لأرقام IBAN غير الصالحة، ستساعد رسائل الخطأ المحددة في تحديد المشكلة

حالات الاستخدام

تخدم أداة توليد والتحقق من IBAN عدة أغراض عبر مجالات مختلفة:

تطوير البرمجيات والاختبار

  • اختبار واجهات برمجة التطبيقات: توليد أرقام IBAN صالحة لاختبار واجهات برمجة التطبيقات المالية دون استخدام أرقام حسابات حقيقية
  • التحقق من صحة النموذج: اختبار منطق التحقق من IBAN في النماذج والتطبيقات على الويب
  • اختبار حالات الحافة: التحقق من كيفية تعامل التطبيقات مع أرقام IBAN من دول مختلفة
  • اختبار الانحدار: التأكد من أن معالجة IBAN تظل صحيحة بعد تحديثات البرمجيات

تطوير التطبيقات المالية

  • أنظمة الدفع: اختبار وظيفة معالجة الدفع الدولية
  • برامج البنوك: التحقق من مكونات تحليل والتحقق من IBAN
  • تطبيقات التكنولوجيا المالية: ضمان الامتثال لمعايير البنوك الدولية
  • أنظمة قواعد البيانات: اختبار تخزين واسترجاع بيانات IBAN

الأغراض التعليمية

  • تعليم معايير البنوك: توضيح كيفية هيكلة والتحقق من أرقام IBAN
  • محو الأمية المالية: تعليم الطلاب حول المعرفات المصرفية الدولية
  • دروس البرمجة: استخدام كأمثلة على خوارزميات التحقق ومعالجة البيانات المالية
  • التوثيق الفني: توليد أرقام IBAN أمثلة لتوثيق واجهات برمجة التطبيقات

ترحيل البيانات والتحويل

  • ترحيل الأنظمة القديمة: اختبار عمليات تحويل IBAN عند ترقية الأنظمة
  • إخفاء البيانات: توليد أرقام IBAN اختبارية لاستبدال أرقام الحسابات الحقيقية في بيئات التطوير
  • تغذية قاعدة البيانات: إنشاء بيانات اختبار واقعية لقواعد بيانات التطبيقات المالية

البدائل

بينما توفر أداة توليد والتحقق من IBAN تجربة مبسطة لأغراض الاختبار، هناك طرق بديلة يجب النظر فيها:

واجهات برمجة التطبيقات المصرفية التجارية

  • الإيجابيات: تقدم تحققًا إضافيًا ضد السجلات المصرفية الفعلية، وتوفر خدمات مالية أكثر شمولاً
  • السلبيات: تتطلب عادة اشتراكات، ومفاتيح واجهة برمجة التطبيقات، وعمل تكامل؛ قد يكون لها حدود استخدام

مكتبات IBAN للغات البرمجة

  • الإيجابيات: يمكن دمجها مباشرة في قاعدة التعليمات البرمجية الخاصة بك، وتوفر وصولًا برمجيًا
  • السلبيات: تتطلب عمل تطوير للتنفيذ، وقد تحتاج إلى تحديثات منتظمة للبقاء متوافقة مع المعايير

Validators البنوك الرسمية

  • الإيجابيات: مقدمة من المؤسسات المالية، دقة عالية لبلدانها المحددة
  • السلبيات: عادة ما تقتصر على دول معينة، قد لا تدعم ميزات التوليد

الحساب اليدوي

  • الإيجابيات: يساعد على فهم الخوارزمية الأساسية، لا يعتمد على أدوات خارجية
  • السلبيات: يستغرق وقتًا طويلاً، عرضة للأخطاء البشرية، غير عملي للاختبار على نطاق واسع

تسد أداتنا الفجوة بين هذه البدائل من خلال توفير واجهة بسيطة وسهلة الوصول لكل من التوليد والتحقق دون الحاجة إلى تكامل تقني أو اشتراكات مدفوعة.

الأسئلة الشائعة

ما هو IBAN؟

IBAN (رقم الحساب المصرفي الدولي) هو نظام ترقيم دولي موحد تم تطويره لتحديد الحسابات المصرفية عبر الحدود الوطنية. تم تأسيسه بواسطة المنظمة الدولية للمعايير (ISO) لتسهيل المعاملات الدولية الخالية من الأخطاء.

ما مدى دقة مولد IBAN هذا؟

يقوم مولد IBAN بإنشاء أرقام IBAN صالحة هيكليًا والتي تمر بخوارزمية التحقق MOD 97 كما هو محدد في معيار ISO 13616. بينما تكون أرقام IBAN المولدة صالحة رياضيًا، إلا أنها عشوائية وليست مرتبطة بحسابات مصرفية فعلية، مما يجعلها مثالية للاختبار ولكن ليس للمعاملات الحقيقية.

أي البلدان مدعومة من قبل هذه الأداة؟

تدعم الأداة حاليًا تنسيقات IBAN لألمانيا، المملكة المتحدة، فرنسا، إسبانيا، إيطاليا، هولندا، سويسرا، النمسا، بلجيكا، وبولندا. تغطي هذه الدول أكثر تنسيقات IBAN استخدامًا في أوروبا.

هل يمكنني استخدام أرقام IBAN المولدة للمعاملات الحقيقية؟

لا. الأرقام التي ينشئها هذا المولد صالحة هيكليًا ولكنها عشوائية. إنها غير مرتبطة بحسابات مصرفية حقيقية ويجب استخدامها فقط لأغراض الاختبار أو التعليمية أو العرض.

كيف تعمل عملية التحقق من IBAN؟

يتحقق المولد من عدة جوانب لرقم IBAN:

  1. صلاحية رمز البلد
  2. الطول الصحيح للدولة المحددة
  3. صلاحية نوع الأحرف (الأحرف والأرقام في المواضع الصحيحة)
  4. التحقق من رقم التحقق MOD 97 وفقًا للمعيار ISO

هل المسافات مهمة في IBAN؟

لا. بينما يتم عرض أرقام IBAN غالبًا مع مسافات لتحسين القراءة (عادةً في مجموعات من أربعة أحرف)، يتم تجاهل المسافات أثناء التحقق. تتعامل أداتنا مع كل من IBANs المنسقة وغير المنسقة.

هل يتم تخزين بيانات IBAN الخاصة بي أو مشاركتها عند استخدام هذه الأداة؟

لا. تعمل هذه الأداة بالكامل في متصفحك. لا يتم إرسال أي بيانات IBAN إلى أي خادم، ولا يتم تخزينها، أو مشاركتها مع أطراف ثالثة. تظل بياناتك خاصة وآمنة.

هل يمكنني التحقق من IBANs من دول غير موجودة في قائمة السحب؟

حاليًا، تتحقق الأداة فقط من IBANs من البلدان المدعومة المدرجة في القائمة المنسدلة. إذا كنت بحاجة إلى التحقق من دول إضافية، يرجى إخبارنا من خلال نموذج الملاحظات.

لماذا قد يفشل 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  // حساب mod 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

توليد 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  // إنشاء IBAN أولي مع '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 ناقص mod 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

المراجع

  1. ISO 13616-1:2007 - "الخدمات المالية - رقم الحساب المصرفي الدولي (IBAN) - الجزء 1: هيكل IBAN"
  2. اللجنة الأوروبية لمعايير البنوك (ECBS) - "IBAN: رقم الحساب المصرفي الدولي"
  3. SWIFT - "سجل IBAN"
  4. المجلس الأوروبي للدفع - "IBAN ورمز الدائن"
  5. بنك التسويات الدولية - "أنظمة الدفع والتسوية"
  6. البنك المركزي الأوروبي - "منطقة المدفوعات الأوروبية الموحدة (SEPA)"
  7. ISO 9362 - "البنوك - رسائل الاتصالات المصرفية - رمز معرف الأعمال (BIC)"
  8. ISO 7064 - "تكنولوجيا المعلومات - تقنيات الأمان - أنظمة حرف التحقق"

الخاتمة

توفر أداة توليد والتحقق من IBAN حلاً بسيطًا ولكنه قوي لأغراض الاختبار والتعليم المتعلقة بالمعرفات المصرفية الدولية. من خلال تقديم كل من قدرات التوليد والتحقق في واجهة سهلة الاستخدام، فإنها تلغي الحاجة إلى تكوينات معقدة أو تكاملات مع أطراف ثالثة.

سواء كنت تطور تطبيقات مالية، أو تختبر أنظمة الدفع، أو تتعلم حول معايير البنوك الدولية، تقدم لك هذه الأداة طريقة مباشرة للعمل مع أرقام IBAN. يضمن التحقق الشامل أن جميع أرقام IBAN المولدة سليمة هيكليًا ومتوافقة مع المعايير الدولية.

جرب توليد أو التحقق من IBAN الآن لتجربة قدرات الأداة بنفسك!