رقم تحقق CNP الروماني
أدخل 180010122114 لتحصل على رقم التحقق 4، فيكون رمز CNP الكامل 1800101221144؛ أو الصق الأرقام الثلاثة عشر لترى هل يوافق الأخير الترجيح الرسمي. مفيد في شؤون الموظفين والرواتب وتسجيل العملاء. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- Cnp
- 180010122114
- وضع الحساب
- Compute
- المُدخَل
- 180010122114
- رقم التحقق
- 4
- مع رقم التحقق
- 1800101221144
- منسَّق
- 1-800101-22-114-4
الرمز الرقمي الشخصي الروماني (CNP، Cod Numeric Personal) معرّف من ثلاثة عشر رقماً يُستخدم في سجلات الحالة المدنية وعقود العمل والإقرارات الضريبية وKYC المصرفي واستمارات الخدمات العامة في رومانيا. الرقم الأخير رقم تحقق يُشتق من ترجيح ثابت للاثني عشر رقماً الأولى وفق القاعدة المعيارية الرسمية لهيكل CNP. غالباً ما يكسر رقم واحد مكتوب خطأ أو زوج مُبدَّل تلك المجموع، لذا فإن التحقق من CNP قبل حفظ سجل موارد بشرية أو فتح ملف عميل أو قبول ملف شريك يلتقط كثيراً من أخطاء الإدخال مبكراً.
ما رقم التحقق لرمز CNP الروماني وكيف تعمل الأوزان
يشفّر CNP الجنس والقرن وتاريخ الميلاد ومقاطعة الإصدار ورقماً تسلسلياً في هيكل ثابت من ثلاثة عشر رقماً تستخدمه الأنظمة الإدارية والمالية والتجارية الرومانية. تُدرج الاستمارات أحياناً مسافات أو واصلات لسهولة القراءة، لكن القيمة الأساسية دائماً ثلاثة عشر رقماً عشرياً. تشكل الأرقام الاثنا عشر الأولى الجسم؛ والرقم الثالث عشر يحدده بالكامل خوارزمية تحقق عامة ولا يُختار بحرية.
يضرب الترجيح الرسمي تلك الأرقام الاثني عشر، من اليسار إلى اليمين، بالتسلسل الثابت اثنين وسبعة وتسعة وواحد وأربعة وستة وثلاثة وخمسة وثمانية واثنين وسبعة وتسعة — سلسلة الأوزان 279146358279. تُجمع النواتج، وباقي ذلك المجموع معيار أحد عشر هو رقم التحقق المرشح. عندما يكون الباقي من صفر إلى تسعة، تكون تلك القيمة رقم التحقق وتكمل سلسلة CNP سليمة الشكل.
عندما يكون الباقي عشرة، يُعرَّف رقم التحقق بواحد لا بعشرة، فيرتبط كل جسم من اثني عشر رقماً برقم ختامي واحد من صفر إلى تسعة. مقارنةً بـ Luhn معيار عشرة على بطاقات الدفع، يستخدم مخطط CNP متجه أوزان ثابتاً من اليسار إلى اليمين ومعيار أحد عشر مع قاعدة خاصة للباقي عشرة، فلا يجوز إعادة استخدام مدقق Luhn على حقول الهوية الشخصية الرومانية. مقارنةً بأوزان NIP البولندي أو رقمي fødselsnummer النرويجي بمعيار أحد عشر، قاعدة CNP الرومانية خاصة بهذا الهيكل ذي الثلاثة عشر رقماً وسلسلة الأوزان ذات الاثني عشر موضعاً.
معرفة المخطط المطلوب تتجنب ثقة زائفة عندما تقبل أداة عامة لرقم التحقق سلسلة أرقام ليست CNP سليم الشكل. تطبق هذه الأداة الترجيح القياسي على أرقام خالصة بعد إزالة المسافات والواصلات الاختيارية. لا تستعلم بوابات حكومية، ولا تثبت وجود شخص، ولا تفكك الجنس أو المقاطعة، ولا تمنح وضعاً قانونياً — فقط أن سلسلة الأرقام متسقة مع خوارزمية التحقق المنشورة.
أين تناسب أرقام تحقق CNP تدفقات الموارد البشرية والمصارف والإدارة
تخزّن أنظمة الموارد البشرية والرواتب CNP الموظف على كل وثيقة توظيف رومانية قانونية؛ وقد يفشل إرسال واحد لرقم مكتوب خطأ أثناء الانضمام في الإرسالات اللاحقة للضمان الاجتماعي أو الضرائب. يمكن لتدفقات KYC المصرفية والتقنية المالية التي تجمع رمزاً رقمياً شخصياً رومانياً إعادة حساب رقم التحقق دون استدعاء سجل خارجي، فتصفي ضوضاء OCR واللقطات الجزئية مبكراً. ينبغي لفرق المنتجات التي تعرض بالفعل أدوات Luhn أو ISO 7064 العامة أن تستخدم مع ذلك هذه القدرة الخاصة بـ CNP لحقول الهوية الشخصية الرومانية حتى تطابق الأوزان وحدود الطول ومعالجة الباقي عشرة المجال.
تحتاج صفحات التعليم وSEO التي تستهدف عبارات مثل رقم تحقق CNP الروماني أو مدقق CNP رومانيا أداة حية مجانية يتطابق مسار متصفحها مع الأتمتة لتبقى لقطات الدروس دقيقة. لا تعاملوا رقم تحقق CNP ناجحاً كدليل على أن الشخص معرّف بشكل صحيح أو حي أو مخوّل أو موجود في أي سجل رسمي — فهو يثبت فقط أن سلسلة الأرقام متسقة مع خوارزمية تحقق CNP الرومانية.
حالات الاستخدام
مراجعة أعمدة CNP في ملفات الشركاء والرواتب
تحققوا دفعةً من كل CNP في استيراد CSV واعزلوا الصفوف التي لم يعد رقم تحققها يطابق القيمة المتوقعة المعاد حسابها.
الأسئلة الشائعة
كيف يُحسب رقم التحقق لرمز CNP الروماني؟
اضربوا الأرقام الاثني عشر الأولى بالأوزان 2 و7 و9 و1 و4 و6 و3 و5 و8 و2 و7 و9 (السلسلة الثابتة 279146358279)، واجمعوا النواتج، وخذوا الباقي معيار 11. إذا كان الباقي 0–9 فهو رقم التحقق؛ وإذا كان 10 فرقم التحقق هو 1.
ما الفرق بين وضعي compute وvalidate؟
يأخذ compute اثني عشر رقماً ويعيد رقم التحقق وCNP الكامل من ثلاثة عشر رقماً. يأخذ validate ثلاثة عشر رقماً بما فيها الختامي ويبيّن ما إذا كان يطابق رقم التحقق المعاد حسابه.
ماذا يحدث إذا كان رقم التحقق خاطئاً؟
في وضع validate ما زالت الاستجابة تتضمن الرقم المتوقع وvalid تكون false.
ماذا يحدث إذا كان باقي المجموع الموزون 10؟
يصبح رقم التحقق 1 وليس 10. وبفضل هذه القاعدة الخاصة يكون لكل جسم من اثني عشر رقمًا رقم أخير واحد فقط بين 0 و9.
هل تستخرج الأداة تاريخ الميلاد أو المقاطعة من الرمز؟
لا. فهي تتحقق فقط من اتساق الأرقام مع قاعدة التحقق المنشورة، ولا تفك ترميز الجنس أو تاريخ الميلاد أو المقاطعة، ولا تستعلم من البوابات الحكومية ولا تثبت وجود الشخص.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/cnp-romania \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cnp":"180010122114"}'const res = await fetch("https://api.kit.forhosting.com/enc/cnp-romania", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cnp": "180010122114"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/cnp-romania",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cnp": "180010122114"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/cnp-romania", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cnp":"180010122114"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cnp":"180010122114"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/cnp-romania", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"cnp": "180010122114"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.cnp_romania",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تحسب هذه القدرة رقم التحقق لرمز CNP الروماني من حمولة من اثني عشر رقماً (مع مسافات وواصلات شائعة أو بدونها)، أو تتحقق من رقم كامل من ثلاثة عشر رقماً يتضمن الرقم الختامي، وتُبلّغ عن الإدخال السيئ بدل اختراع رقم بصمت. استخدمها مجاناً في المتصفح أو استدعِ واجهة KIT API بالسعر المنشور؛ يسلك المساران الحساب الحتمي نفسه دون استعلام شبكي ودون سجل لأشخاص حقيقيين.
كيفية حساب رقم تحقق أو التحقق من CNP كامل
أرسل حقلاً cnp يحتوي أرقاماً من صفر إلى تسعة، مفصولة اختيارياً بمسافات أو واصلات. يتوقع وضع validate رقماً كاملاً من ثلاثة عشر رقماً يتضمن رقم التحقق الختامي (مثلاً 1800101221144 أو شكلاً بواصلات من ثلاثة عشر رقماً). تفشل السلاسل الفارغة وcnp المفقود وقيم mode غير الصالحة والأطوال الخاطئة قبل أي مجموع مرجّح ولا تُفوتر. فضّلوا compute عند تجميع CNP من جسم معروف من اثني عشر رقماً؛ وفضّلوا validate عندما يقدّم مستخدم أو ملف شريك أو ملصق ممسوح رقماً كاملاً وتحتاجون بوابة منطقية قبل استعلام سجل أو بيانات رئيسية. تُرفض الحروف وعلامات الترقيم الأخرى والواصلات المزدوجة أو البادئة أو الختامية كإدخال مشوّه بـ invalid_input حتى لا تقبل قيمة منظّفة بصمت. وضع compute هو الافتراضي: قدّم اثني عشر رقماً بالضبط دون رقم التحقق (مثلاً 180010122114) فيعيد المحرك check_digit كسلسلة من حرف واحد، وwith_check كسلسلة كاملة من ثلاثة عشر رقماً تتضمن ذلك الرقم، وformatted بالتجميع المقروء S-YYMMDD-JJ-NNN-C. تُبلّغ الاستجابة valid true عندما يطابق رقم التحقق المعاد حسابه الرقم الأخير، وتتضمن دائماً check_digit وexpected_check_digit وpayload دون الرقم الأخير وweighted_sum_mod11 وformatted لعرض متسق. لأن المسار parse خالص بلا ساعة ولا مصدر عشوائي ولا شبكة، يُنتج الإدخال نفسه دائماً JSON نفسه على الأداة المجانية في المتصفح وعلى API. بسعر $0.002 لكل طلب ناجح يمكنكم تصفية واردات موارد بشرية جماعية واستمارات الانضمام ومهام ETL دون التفاوض على مستوى مخصص.
أين تناسب أرقام تحقق CNP تدفقات الموارد البشرية والمصارف والإدارة
يحظر وضع validate عند الإدخال الحفظ عندما يكون valid false ويمكنه إظهار expected_check_digit ليصحح الموظف الاستمارة قبل كتابة السجل. تستقبل بوابات التأمين والرعاية والخدمات العامة أرقام CNP من استمارات وملفات شركاء حيث يرفض رقم ختامي خاطئ دفعة كاملة؛ ويتيح مصدر حتمي يعيد valid وwith_check للمستوردين وسم الصفوف قبل الإنتاج.
حالات التكامل
تصفية حقول CNP في استمارات الموارد البشرية والانضمام
عندما يرسل مستخدم CNP رومانياً كاملاً، استدعوا وضع validate واحظروا الحفظ إذا كان valid false، مع إظهار expected_check_digit لتصحيح خطأ إدخال واحد قبل كتابة سجل الموظف.
حساب الرقم الختامي عند إكمال المعرّفات
من جسم من اثني عشر رقماً، استدعوا وضع compute واحفظوا with_check أو formatted حتى تحمل كل سلسلة CNP جديدة الرقم الختامي الصحيح قبل الطباعة أو التصدير أو إنشاء الملفات.
أسئلة تقنية
هل تُسمح المسافات والواصلات؟
نعم. تُزال الفواصل الشائعة قبل التحليل. تُرفض الحروف وعلامات الترقيم الأخرى وأنماط الواصلات المعطوبة بـ invalid_input.
كم تكلفة حاسبة رقم التحقق لرمز CNP الروماني؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقاً بسعر $0.002 لكل استدعاء ناجح؛ ولا يُفوتر الإدخال غير الصالح.