محلّل MRZ وحاسبة أرقام التحقق
الصق منطقة القراءة الآلية (MRZ) من جواز سفر أو بطاقة هوية أو تأشيرة: TD3 أو TD2 أو TD1. يُكتشف التنسيق، ويُقرأ كل حقل، ويُعاد حساب كل رقم تحقق وفق ICAO 9303 ويُقارن بالرقم المطبوع. كل ذلك يجري في متصفحك؛ ولا يغادر شيء الصفحة.
ما منطقة القراءة الآلية
منطقة القراءة الآلية (MRZ) هي كتلة الأسطر ثابتة العرض في أسفل جواز السفر أو بطاقة الهوية، ويحدّد معيارها مستند ICAO Doc 9303. وهي ترمّز رقم المستند والدولة المُصدِرة والاسم والجنسية وتاريخ الميلاد والجنس وتاريخ انتهاء الصلاحية، كلًّا منها في موضع ثابت، مع أرقام تحقق تتأكد من صحة القراءة.
موضع كل حقل في TD1 وTD2 وTD3
تُعدّ المواضع ابتداءً من 1 في كل سطر، كما يرقّمها ICAO 9303. ويأتي كل رقم تحقق مباشرة بعد الحقل الذي يحميه؛ أما الرقم المركّب فهو آخر حرف في سطره.
| الحقل | TD3 (جواز سفر) | TD2 | TD1 (بطاقة هوية) |
|---|---|---|---|
| رمز المستند | السطر 1، 1–2 | السطر 1، 1–2 | السطر 1، 1–2 |
| الدولة المُصدِرة | السطر 1، 3–5 | السطر 1، 3–5 | السطر 1، 3–5 |
| الاسم | السطر 1، 6–44 | السطر 1، 6–36 | السطر 3، 1–30 |
| رقم المستند | السطر 2، 1–9 | السطر 2، 1–9 | السطر 1، 6–14 |
| رقم التحقق الخاص به | السطر 2، 10 | السطر 2، 10 | السطر 1، 15 |
| الجنسية | السطر 2، 11–13 | السطر 2، 11–13 | السطر 2، 16–18 |
| تاريخ الميلاد | السطر 2، 14–19 | السطر 2، 14–19 | السطر 2، 1–6 |
| رقم التحقق الخاص به | السطر 2، 20 | السطر 2، 20 | السطر 2، 7 |
| الجنس | السطر 2، 21 | السطر 2، 21 | السطر 2، 8 |
| تاريخ انتهاء الصلاحية | السطر 2، 22–27 | السطر 2، 22–27 | السطر 2، 9–14 |
| رقم التحقق الخاص به | السطر 2، 28 | السطر 2، 28 | السطر 2، 15 |
| الرقم الشخصي | السطر 2، 29–42 | – | – |
| رقم التحقق الخاص به | السطر 2، 43 | – | – |
| رقم التحقق المركّب | السطر 2، 44 | السطر 2، 36 | السطر 2، 30 |
كيف يُحسب رقم التحقق
- خذ الحقل الذي يحميه الرقم: رقم المستند، أو تاريخ الميلاد، أو تاريخ انتهاء الصلاحية، أو الرقم الشخصي، أو النطاق الكامل للرقم المركّب.
- أعطِ كل حرف قيمته: الرقم يساوي نفسه، والحرف اللاتيني يساوي ترتيبه في الأبجدية مضافًا إليه تسعة (A = 10، Z = 35)، وحرف الحشو < يساوي صفرًا.
- اضرب كل قيمة في وزن موضعها. تتكرر الأوزان 7, 3, 1 على امتداد الحقل، بدءًا بالوزن 7 عند الحرف الأول.
- اجمع نواتج الضرب كلها.
- رقم التحقق هو باقي قسمة هذا المجموع على 10، أي آخر خانة في الناتج.
إليك الحساب خطوة بخطوة على رقم جواز السفر في العيّنة، AM7304518، وهو مستند مُختلَق لا يخص أحدًا:
| الحرف | القيمة | الوزن | الناتج |
|---|---|---|---|
| A | 10 | 7 | 70 |
| M | 22 | 3 | 66 |
| 7 | 7 | 1 | 7 |
| 3 | 3 | 7 | 21 |
| 0 | 0 | 3 | 0 |
| 4 | 4 | 1 | 4 |
| 5 | 5 | 7 | 35 |
| 1 | 1 | 3 | 3 |
| 8 | 8 | 1 | 8 |
| المجموع، ثم باقي القسمة على 10 | 214 → 4 | ||
إذن الرقم المطبوع بعد AM7304518 في تلك المنطقة هو 4. حمّل مثال TD3 أعلاه، وسيعيد المحلّل حساب الرقم نفسه أمامك.
رقم التحقق المركّب
رقم إضافي واحد يغطي معظم المنطقة دفعة واحدة: الرقم المركّب. يُحسب بالطريقة نفسها، على نطاق يتخطى الحقول التي لا يحميها أي رقم، وفي TD1 يمتد هذا النطاق على سطرين، وهنا يخطئ عادةً المحلّل المكتوب يدويًا. والمنطقة التي تنجح أرقام تحقق حقولها كلها ويفشل رقمها المركّب نُسخت أجزاؤها بشكل صحيح ثم جُمعت بشكل خاطئ.
ما لا تغطيه أرقام التحقق
لا يغطي أي رقم تحقق الاسم، ولا يغطي أيٌّ منها الدولة المُصدِرة. وخطأ القراءة في أيٍّ منهما يمر دون أن يُلاحظ: فالحساب يبقى متوازنًا. لهذا فإن قراءة الوجه المطبوع من المستند أيضًا، ومقارنة القراءتين، تكشف ما لا تستطيع الأرقام كشفه.
أسئلة شائعة
ما هي MRZ؟
منطقة القراءة الآلية (MRZ) هي كتلة الأسطر ثابتة العرض في أسفل جواز السفر أو بطاقة الهوية، ويحدّد معيارها مستند ICAO Doc 9303. وهي ترمّز رقم المستند والدولة المُصدِرة والاسم والجنسية وتاريخ الميلاد والجنس وتاريخ انتهاء الصلاحية، كلًّا منها في موضع ثابت، مع أرقام تحقق تتأكد من صحة القراءة.
ما التنسيقات التي تدعمها هذه الأداة؟
تنسيقات ICAO 9303 الثلاثة كلها: TD3، وهو السطران من 44 حرفًا في جواز السفر؛ وTD2، سطران من 36 حرفًا؛ وTD1، الأسطر الثلاثة من 30 حرفًا على بطاقة الهوية أو تصريح الإقامة. وتقرأ أيضًا تنسيقَي التأشيرة MRV-A وMRV-B، وليس فيهما رقم مركّب. يُكتشف التنسيق من عدد الأسطر وطولها، ويُعاد حساب كل رقم تحقق يتضمنه التنسيق.
لماذا يفشل رقم التحقق؟
دائمًا تقريبًا لأن حرفًا واحدًا في الحقل الذي يحميه قُرئ أو كُتب خطأً: O مكان 0، أو B مكان 8، أو حرف حشو ضاع من نهاية السطر. يعرض الجدول الرقم الذي تطبعه المنطقة بجانب الرقم الناتج عن البيانات، والحقل الذي يغطيه الرقم. وعندما ينجح رقم تحقق الحقل ويفشل الرقم المركّب، فافحص الأحرف الواقعة بين الحقول، فالرقم المركّب يغطي أرقام تحقق الحقول نفسها أيضًا.
هل تستطيع قراءة المنطقة من صورة؟
لا. هذه الصفحة تقرأ النص الذي تلصقه، ولا يغادر شيء متصفحك. أما قراءة المنطقة والصفحة المطبوعة من صورة فهي ما تفعله واجهة API للتعرّف: استدعاء HTTP واحد مع الصورة، وتعود الحقول بصيغة JSON مع أرقام التحقق نفسها وقد تم التحقق منها.
هل تحتفظون بأي من بياناتي؟
لا. المنطقة التي تلصقها يحلّلها كود يعمل في متصفحك أنت: لا يُرفع أي شيء، ولا يُرسَل أي طلب يحملها. هذه الصفحة ملف ثابت، والطلب الوحيد الذي ترسله بعد تحميلها هو سؤال عمّا إذا كان هناك إشعار من الخدمة يُعرض في أعلاها، وهو طلب لا يحمل شيئًا مما كتبته. أما واجهة API للتعرّف فهي شيء منفصل عليك أن تستدعيه عن قصد.
إلى أين بعد ذلك
- مولّد MRZ – أنشئ منطقة صالحة بأرقام تحقق صحيحة لبيانات الاختبار.
- TD1 وTD2 وTD3 – التنسيقات الثلاثة، وعدد أسطر كل منها وأحرفه، وأين يعرّف المعيار كلًّا منها.
- قراءة مستند كامل – الوجه المطبوع إلى جانب المُرمَّز، بطلب واحد ودون حساب.
- التعرّف الضوئي على جوازات السفر حسب الدولة – الدول المُصدِرة التي تقرؤها هذه الواجهة، ولكل منها منطقة عيّنة خاصة بها.