رقم تحقق ISIN
لجسم الرمز US037833100 يكون رقم التحقق 5، فيصبح رمز ISIN الكامل US0378331005. أكمل معرّف ورقة مالية قبل حفظه أو طباعته، أو افحص رمز ISIN من 12 حرفًا وصلك في ملف من شريك. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الرمز
- US037833100
- المحوَّل
- 3028037833100
- وضع الحساب
- Compute
- المُدخَل
- US037833100
- رمز الدولة
- US
رقم التعريف الدولي للأوراق المالية (ISIN) هو رمز من اثني عشر حرفًا يميّز ورقة مالية بشكل فريد عبر الأسواق وفق ISO 6166. الحرفان الأولان رمز البلد، والتسعة التالية الرقم الوطني لتعريف الأوراق المالية (NSIN)، والثاني عشر رقم تحقق عددي يُنتَج بتحويل الحروف إلى أرقام وتشغيل خوارزمية Luhn. تنفّذ هذه القدرة تلك القاعدة الرسمية فقط: يقبل وضع compute أحد عشر حرفًا أبجديًا رقميًا بالضبط ويعيد رقم التحقق مع ISIN الكامل ذي الاثني عشر حرفًا؛ ويقبل وضع validate رمز ISIN كاملًا من اثني عشر حرفًا ويبلّغ عما إذا كان الرقم الأخير يطابق القيمة المتوقعة المعاد حسابها.
كيف يُحسب رقم تحقق Luhn لـ ISIN
بموجب ISO 6166 يكون ISIN دائمًا اثني عشر حرفًا: حرفان كبيران لبلد أو منطقة الإصدار، وتسعة أحرف أبجدية رقمية لـ NSIN (غالبًا رقم وطني مبطّن بأصفار مثل CUSIP أو SEDOL)، ورقم أخير هو حرف التحقق. لحسابه، خذ جسم الأحد عشر حرفًا ووسّع كل حرف إلى رقمين عشريين بالمقابلة الثابتة A تساوي عشرة حتى Z تساوي خمسة وثلاثين، بينما تبقى الأرقام العشرية رقمًا واحدًا. النتيجة سلسلة أرقام نقية يعتمد طولها على عدد الحروف في الجسم — رموز البلدان تساهم دائمًا بأربعة أرقام لأن الحرفين حرفان.
طبّق خوارزمية Luhn الكلاسيكية من يمين تلك السلسلة الموسّعة: ضاعف كل رقم ثانٍ بدءًا من أقصى يمين رقم الجسم، لأن رقم التحقق بعد إلحاقه يجعل ذلك الرقم في الموضع الثاني من اليمين للرقم الكامل. عندما يكون ضعف رقم أكبر من تسعة، اطرح تسعة (أو اجمع آحاد وعشرات الناتج). اجمع كل القيم الموزونة؛ رقم التحقق هو عشرة ناقص ذلك المجموع modulo عشرة، modulo عشرة مرة أخرى، بحيث يكون مجموع Luhn للتسلسل الكامل بما فيه رقم التحقق قابلًا للقسمة على عشرة.
تعيد عملية التحقق حساب الرقم المتوقع من الأحرف الأحد عشر الأولى وتقارنه بالثاني عشر، الذي يجب أن يكون دائمًا رقمًا عشريًا من صفر إلى تسعة. الخوارزمية حتمية ومحلية: بلا استدعاء سجل مُصدِرين، بلا ساعة، بلا عشوائية. لا تحل هذه الأداة ISIN إلى أسماء، ولا تتعامل مع FIGI أو معرّفات بديلة أخرى، ولا تثبت أن الرمز نشط في بورصة — بل تثبت فقط أن سلسلة الأحرف سليمة الشكل وفق قاعدة Luhn في ISO 6166.
مقارنة بأدوات Luhn للبطاقات أو IMEI، نية البحث هنا ضيقة: من يحتاج حاسبة رقم تحقق ISIN لجسم من أحد عشر حرفًا أو مدقق ISIN أوراق مالية من اثني عشر، لا أداة دفع أو جهاز.
عقد الإدخال والأوضاع وسلوك الخطأ
أرسل حقل code يحتوي بعد القص والتحويل إلى أحرف كبيرة على الحروف A إلى Z والأرقام صفر إلى تسعة فقط. الطول الخاطئ خطأ صريح يسمّي الوضع والطول المرسل — أحد عشر لـ compute واثنا عشر لـ validate — حتى تعرض نماذج العميل «يلزم أحد عشر حرفًا» دون تخمين. السلاسل الفارغة وcode المفقود وقيم mode غير الصالحة والحرف الثاني عشر غير الرقمي في validate والجسم الذي يفشل شكل حرفين زائد تسعة أبجدية رقمية تفشل قبل أي مجموع Luhn ولا تُفوتر.
فضّل compute عند إنشاء أو إكمال ISIN لبيانات رئيسية وملصقات؛ وفضّل validate عند تقييد صفقة أو استيراد أو بحث بـ ISIN كامل من مستخدم أو ملف شريك أو تغذية سوق. مهام التحقق التي ترفض الشكل السيئ لا تُحصَّل؛ وسلسلة سليمة الشكل من اثني عشر حرفًا ذات رقم تحقق خاطئ فقط تعيد valid false دون رمي خطأ.
أين تناسب أرقام تحقق ISIN مسارات العمل الفعلية
يتلقى المُصدِرون والوكلاء ووكالات الترقيم رموزًا وطنية ويجب أن يُلحقوا رقم تحقق Luhn الرسمي قبل طباعة ISIN على نشرات الاكتتاب أو أحداث الشركات أو الإيداعات التنظيمية. تتحقق نماذج انضمام الوسطاء والحفظ من ISIN ذي الاثني عشر حرفًا عند الإدخال حتى لا يفتح تبديل واحد مركزًا وهميًا أو تعليمات تسوية فاشلة. تمر مهام ETL التي تحمّل ملفات أدوات رئيسية على كل عمود ISIN في CSV أو تعريف أمان FIX، وتستدعي وضع validate وتعزل الصفوف حيث valid يساوي false — فتلتقط التعديلات البشرية وأخطاء المولّدات.
لا تعامل نجاح فحص ISIN كدليل على أن الورقة مدرجة أو سائلة أو خالية من أحداث الشركات؛ فهو يثبت فقط أن رقم Luhn متسق مع البلد وNSIN الموسّعين وفق أوزان ISO 6166 القياسية للتعريف الدولي للأوراق المالية.
حالات الاستخدام
تدقيق أعمدة ISIN في مخزون الأوراق المالية
تحقق دفعيًا من كل ISIN من اثني عشر حرفًا في CSV للمكتب الأوسط أو الحفظ أو بيانات السوق، واعزل الصفوف التي لم يعد رقم تحققها يطابق القيمة المتوقعة المعاد حسابها.
الأسئلة الشائعة
ما رقم تحقق ISIN؟
هو الحرف الثاني عشر من ISIN، رقم من صفر إلى تسعة يُحسب بخوارزمية Luhn بعد توسيع الحروف A–Z إلى 10–35 على الأحرف الأحد عشر الأولى، فغالبًا تُلتقط أخطاء الكتابة والقراءة قبل تخزين الرمز أو تداوله.
ماذا يعني كل جزء من رمز ISIN؟
الحرفان الأولان يدلان على بلد الإصدار أو منطقته، والأحرف التسعة التالية هي الرقم الوطني للورقة المالية، والحرف الثاني عشر هو رقم التحقق. في US0378331005 يمثل US البلد، و037833100 الرقم الوطني، و5 رقم التحقق.
كيف يُحسب رقم التحقق في ISIN؟
يُستبدل كل حرف برقمين، من A بقيمة عشرة إلى Z بقيمة خمسة وثلاثين، وتبقى الأرقام كما هي. ثم تُطبَّق طريقة Luhn من اليمين: ضاعف كل رقم ثانٍ بدءًا بالأخير، واطرح تسعة مما يزيد على تسعة، واجمع، وخذ عشرة ناقص الباقي.
هل يعني رمز ISIN الصحيح أن الورقة المالية مدرجة؟
لا. يدل رقم التحقق الصحيح فقط على أن الأحرف الاثني عشر متسقة فيما بينها. لا يُراجع أي سجل للجهات المصدرة، لذا لا يخبرك هل الورقة مدرجة أو تمت تسويتها.
هل يمكن أن يكون رقم التحقق في ISIN حرفًا؟
لا. الحرف الثاني عشر رقم دائمًا من 0 إلى 9، أما الحروف فتظهر في رمز البلد والرقم الوطني فقط، ويُرفض أي رمز ISIN ينتهي بحرف.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/isin \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"code":"US037833100"}'const res = await fetch("https://api.kit.forhosting.com/enc/isin", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"code": "US037833100"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/isin",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"code": "US037833100"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/isin", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"code":"US037833100"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"code":"US037833100"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/isin", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"code": "US037833100"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.isin",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
المدخلات غير الأبجدية الرقمية والأطوال الخاطئة وأشكال البلد أو NSIN التالفة تفشل بـ invalid_input بدل الاقتطاع الصامت، فلا تُحفظ معرّفات نصف منظّفة. تعمل الحسابات نفسها مجانًا في المتصفح وبالسعر المنشور للـ API، دون استعلام شبكي لقواعد بيانات المُصدِرين ودون ادّعاء أن مجموع التحقق الصالح يعني أن الورقة مدرجة أو مسوّاة أو خالية من أحداث الشركات.
عقد الإدخال والأوضاع وسلوك الخطأ
تُرفض المسافات والشرطات والرموز وعلامات الترقيم كمدخل غير أبجدي رقمي بـ invalid_input حتى لا يصل قيمة مقصوصة بصمت إلى التخزين. وضع compute هو الافتراضي: يتطلب المحرك أحد عشر حرفًا بالضبط برمز بلد من حرفين متبوعًا بـ NSIN أبجدي رقمي من تسعة، ويعيد check_digit كسلسلة من حرف واحد، وwith_check كـ ISIN من اثني عشر حرفًا يمكن طبعه أو حفظه، ويعيد أيضًا converted (سلسلة الأرقام الموسّعة) وcountry_code وnsin لمسارات التدقيق. يتطلب وضع validate اثني عشر حرفًا بالضبط آخرها رقم؛ وتبلّغ الاستجابة valid true عندما يطابق الرقم الأخير expected_check_digit المعاد حسابه، وتتضمن دائمًا payload (الأحرف الأحد عشر الأولى) وconverted وcheck_digit وexpected_check_digit وlength اثني عشر. تُقبل أسماء بديلة مثل isin وnumber وtext لنفس حقل الحمولة حتى لا تحتاج التكاملات التي تتكلم «isin» بالفعل إلى إعادة تسمية. ولأن المسار parse خالص بلا ساعة ولا مصدر عشوائي ولا شبكة، ينتج نفس جسم JSON دائمًا نفس نتيجة JSON على الأداة المجانية في المتصفح وعلى الـ API بسعر $0.002 لكل طلب ناجح.
أين تناسب أرقام تحقق ISIN مسارات العمل الفعلية
تعيد فرق المكتب الأوسط والبيانات الثابتة حساب expected_check_digit عندما يقرأ الطرف المقابل رمزًا هاتفيًا أو يلصقه من PDF، فتلتقط أخطاء الكتابة قبل تسجيل الصفقة على الورقة الخاطئة. تثبّت اختبارات التكامل with_check لتجهيزات معروفة مثل US0378331005 حتى لا تنحرف مكتبات الربط وطابعات الملصقات وهذه الـ API.
حالات التكامل
إكمال جسم من 11 حرفًا للبيانات الرئيسية
استدعِ وضع compute بجسم البلد+NSIN المكوّن من أحد عشر حرفًا، واحفظ with_check، وانشر ISIN ذا الاثني عشر حرفًا في سجل الأدوات أو النشرات أو إشعارات أحداث الشركات.
التحقق من ISIN المكتوب أو المستورد عند الإدخال
عندما يرسل نموذج أو تغذية FIX أو ملف شريك اثني عشر حرفًا، استدعِ وضع validate وامنع التسجيل إذا كان valid يساوي false، مع عرض expected_check_digit لتصحيح خطأ كتابة واحد.
أسئلة تقنية
كيف أحسب رقم تحقق ISIN عبر هذه الـ API؟
أرسل POST مع code مساويًا لأحد عشر حرفًا أبجديًا رقميًا بالضبط (رمز بلد من حرفين زائد NSIN من تسعة) وmode compute (أو احذف mode). تتضمن الاستجابة check_digit وwith_check (ISIN الكامل من اثني عشر حرفًا).
كيف أتحقق من ISIN كامل من اثني عشر حرفًا؟
أرسل POST بالسلسلة ذات الاثني عشر حرفًا وmode validate. تتضمن الاستجابة valid وcheck_digit وexpected_check_digit وpayload (الأحرف دون الأخير) وconverted (سلسلة الأرقام الموسّعة).
ماذا يحدث مع طول خاطئ أو شرطات أو رقم تحقق حرف؟
المدخل غير الأبجدي الرقمي، والأطوال غير أحد عشر (compute) أو اثني عشر (validate)، والحرف الثاني عشر غير الرقمي، والأجسام التي ليست حرفين زائد تسعة أبجدية رقمية تُرفض بـ invalid_input. مهام التحقق الفاشلة في الشكل لا تُفوتر.
هل أداة رقم تحقق ISIN مجانية؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم استدعاءات الـ API رصيد KIT المدفوع مسبقًا بالسعر الأساسي المنشور $0.002؛ والمدخل غير الصالح لا يُحصَّل أبدًا.