الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيفية فك شفرة السجل المدني او ماهي المعادلة الخاصة بها

Featured Replies

بتاريخ:

برحبا بالجميع



لقد قمت بطرح هذا السؤال اكتر من مرة بالمنتدى ولم اجد اي رد مفيد بخصوص هذا الموضوع
أرجو من خبراء المنتدى افادتي عن كيفية فك شفرة الرقم المدني بمعنى كيف افحص رقم السجل المدني لشخص بحيث يعطيني رسالة خطأ عند ادخال رقم سجب مدني غير صحيح


حيث ان السعوديين يبدا سجلهم المدني ب 1 والاجانب ب 2 ويتكون من 10 ارقام

لكن كيف اتاكد من أن الرقم المدخل صحيح ام لا للحفاظ على صحة وامنية البيانات المدخلة




أرجو الافادة بشكل عاجل وضروري


وان كانت لك اي طريقة للوصول للحل افدني بها

وجزاكم الله خيرا

بتاريخ:

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

بتاريخ:

السلام عليكم
ده مثال
:t
الايتم اللى تدخل فيه الرقم المدنى
و تعمل تريجر
when-validate-item
على
t
و فيه الكود ده

declare
v_length varchar2(100) ;
v_type varchar2(100) ;
v_count number ;
begin
v_length:=length(:t);
v_type :=substr(:t,1,1) ;
if v_length <> 10 then
message('pleaes check civil number must be 10 numbers') ;
message('pleaes check civil number must be 10 numbers') ;
RAISE Form_Trigger_Failure;
end if ;

if v_type not in (1,2) then
message('pleaes check civil number must be started with 1 or 2') ;
message('pleaes check civil number must be started with 1 or 2') ;
RAISE Form_Trigger_Failure;
end if ;

select count(empno)
into v_count
from emp
where empno = :t ;
if v_count <> 1 then
message('number you entered not exist') ;
message('number you entered not exist') ;
RAISE Form_Trigger_Failure;
end if ;

exception
when no_data_found then
null ;
end ;

بتاريخ:
  • كاتب الموضوع

شكرا اخي nhamzehn على المرور والتعليق


لكن يبدو انك لم تفهم مقصدي من السؤال


توجد هناك معادلة خاصة لفحص رقم الهوية بحيث انك لو ادخلت اي رقم عشوائي حتى لو بدا ب 1 او 2 وكان عدد ارقامه عشرة ليس من الضروري ان يقبله لأن الارقام المدنية حسسب النظام السعودي تتولد حسب معادلة معينة لم استطع الحصول عليها
كمثال (يتم فيها جمع وطرح واستخراج باقي قسمة ويجب ان تتطابق النتيجة بقيم معينة وهكذا ..........)
وسؤالي ماهي هذه المعادلة وليس المشكلة بال wHEN-vALIDATE-ITEM



وشكرا

بتاريخ:
  • كاتب الموضوع

شكرا اخي mom7800


على الرد

لكن المثال الذي طرحته فقط لفحص ان الرقم الوطني بدا ب1 او 2 اوانه مكون من 10 ارقام

وهذا لا يفيد لأنه ممكن ان اكون اي رقم عشوائي غير صحيح يبدا 1 او 2 و عدد ارقامه 10 ولم اتاكد من ان الرقم صحيح ا لا

لذا المغزى من السؤال ماهي المعادلة التي يخضع لها الرقم لاستخراج انه رقم مدني صحيح ام لا بغض النظر بانه يبدا ب 1 او 2 او عدده عشر ارقام


ارجو ان تكون وصلت المعلومة

بتاريخ:

اسمح لي اعيد طرح مشكلتك حسب ما افتهم لي لاوضحها بالمثال التالي

فمثلاً الرقم 555 اذا ردت ان تنسبه لشخص اجنبي يصبح 2555
ونفس الرقم 555 اذا ردت ان تنسبه لشخص محلي يصبح 1555

وانت تريد ان تتحقق ان الرقم 555 لن يتكرر اكثر من مرتين (1 محلي , 2 اجنبي)


هل هذه هي المشكله يا اخي العزيز


ام ان المشكله انك تريد خلق داله لتوليد الارقام عشوائياً بمنهجية معينه

بتاريخ:
  • كاتب الموضوع

يبدو ان الجميع لم يفهم مقصدي

عموما سأوضحها لرابع مرة (يبدو ان اسلوبي غامض قليلا)

مثلا :
محمد احمد علي رقم الهوية (2012158452)= هذا الرقم صحيح فرضا
خالد محمد سالم رقم الهوية(1021554874)= هذا الرقم غير صحيح فرضا

السبب أنه تمت معالجة العملية بمعادلة يقال انها سرية تستخدم لفحص الرقم المدني للمواطنين والاجانب لتلافي التزوير في ارقام الاقامات والجوازات ولكن المعادلة موجودة في اغلب انظمة شؤون الموظفين واغلب الانظمة التي تتطلب صحة البيانات بالكامل مثلا في الاتصالات لاستخدامها لتاسيس خط جديد و في الجامعات والمدارس للحصول على نتائج الثانوية


فيجب فحص الرقم المدني والتأكد من صحته من خلال هذه المعادل ة

توضيح عمل المعادلة ومبدأها :

يتم تمرير الرقم ضمن دالة معينة تجري على الرقم معادلة بسيطة من جمع اول رقم مع الاخير مضروب في كذا ومقسوم على كذا ليعطي ناتج يجب ان يحقق قيمة معينة كمثال

هل وصلت المعلومة ام لا

زيادة على ذلك للي الامور صعبة عليه

هناك شفرة معينة لرقم الهوية مثلا لايمكن تخمين اي رقم بغض النظر انه يبدا ب1 او ب2 او عددها 10 مثل بطاقات الفيزا والماستر هل تستطيع ان تخمن رقم اي بطاقة طبعا لا كذالك رقم الهوية



يارب يارب تكوون وصلت المعلومة

بصراحة اكتر من كدا ما اقدر اوصلها

لأن خلاصة الموضوع ماهي معادلة الرقم المدني السعودي

او ماهي فك شفرة الرقم المدني السعودي

بتاريخ:

هل الموضوع يحتاج كل هذا الشرح
معك حق يا عزيزي
للأسف لست سعودياً فلن استطيع ان افيدك لكن لمن يستطيع سأرح المثال التالي عله يبسط الأمر
عندنا في مصر مثلا الرقم القومي التالي
27505032701355
هذا الرقم يمكن تفسيره كالتالي من اليسار لليمين
2 يوضح الديانة
75 سنة الميلاد
05 شهر الميلاد
03 يوم الميلاد
27 رقم المحافظة وهكذا
أي انه ببساطة مثلاً يجب ان يتطابق تاريخ الميلاد مع الرقم القومي فيكون تاريخ الميلاد كالتالي
03/05/1975
واذا كان غير ذلك يعطي خطأ
هذا ما يقصده الأخ kad_er33 من سؤاله
يا رب يكون صح

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.