تشخیص صحت کد ملی
امروزه در اکثر نرم افزارهای تولیدی نیاز به استفاده از کد ملی به عنوان یک مشخصه منحصر به فرد برای اطلاعات فردی می باشد.
از طرفی متاسفانه در حال حاضر هیچ الگوریتمی برای تشخیص صحت کد ملی ورودی در اختیار برنامه نویسان وجود ندارد.
اخیرا با توجه به نیاز خودم به کنترل صحت کد ورودی الگوریتم مربوط به کنترل صحت کد ملی را بدست آوردم و چون مطمئن هستم افراد زیادی هم همین نیاز را دارند روال انجام کار را در این مقال توضیح می دهم.
کارت شناسایی ملی یا کارت ملی
کارت شناسایی ملی یا کارت ملی در ایران یک کارت هویتی است که به همه ایرانیان بالای ۱۵ سال اختصاص داده میشود. ادارات ثبت احوال در داخل ایران و سفارتهای ایران در خارج از کشور برای تبعههای ایران کارت ملی صادر میکنند.
هر شهروند دائمی ساکن در ایران یا ساکن در خارج از ایران که دارای تابعیت ایرانی باشد و بالای ۱۵ سال سن دارد باید کارت ملی در اختیار داشته باشد یا شماره ملی مخصوص خود را از سازمانها و نهادها مرتبط با وزارت کشور بگیرد.
برای درخواست صدور کارت ملی، متقاضی دست کم باید ۱۵ سال سن و شناسنامهٔ عکسدار داشته باشد.
این کارت برای بسیاری از کارهای اداری شهروندان لازم است (مانند گرفتن گذرنامه، گواهینامه رانندگی، عملیات بانکی، عملیات ثبتی و غیره). بر روی این کارت
- شماره ملی، کد ملی
- نام
- نام خانوادگی
- تاریخ تولد به تاریخ هجری خورشیدی با فرمت روز/ماه/سال چهار رقمی
- شماره شناسنامه
- شماره ردیف کارت در هشت رقم
- نام پدر
- تصویر سیاه و سفید چهره فرد بدون کلاه و عینک برای آقایان و خانمهای بالای ۹ سال با حجاب اسلامی در زمینه سفید و بدون حاشیه و در پشت آن
- شماره کد پستی ده رقمی
- تاریخ اعتبار کارت
- شمارهای ۱۶ رقمی بدون توضیح
- بارکدی در گوشه پایین و راست کارت
درج شدهاست.
کد ملی دارای ده رقم در سه گروه ۳، ۶ و ۱ رقمی است که سه رقم اول مربوط به محل تولد میباشد. در کارت بین سه گروه رقمها با خط تیره فاصلهگذاری شدهاست ولی معمولاً هنگام درج مشخصات و کد ملی نیازی به جداگانهنویسی ارقام وجود ندارد و از چپ براست ده رقم پشت سرهم نوشته میشوند. در گوشه پایین و سمت چپ کارت از دارنده کارت خواسته شده تغییر نشانی را سریعاً به اداره ثبت احوال محل اقامت اطلاع دهند. کارت به شکل پرس شده به متقاضی تحویل داده میشود و در رو و پشت دارای نقش برجسته در پوشش پلاستیکی پرس است. از آنجا که صدور المثنی برای کارت ملی دارای مراحل سجلی پیچیده و نیازمند استشهاد است، در بین دارندگان کارت ملی استفاده از تصویر رنگی پرس شده کارت متداول گشتهاست.
کد ملی
کد ملی شمارهای است ۱۰ رقمی که از سمت چپ سه رقم کد شهرستان محل صدور شناسنامه، شش رقم بعدی کد منحصربهفرد برای فرد دارنده شناسنامه در شهرستان محل صدور و رقم آخر آن هم یک رقم کنترل است که از روی ۹ رقم سمت چپ بهدست میآید. برای راستیآزمایی کد کافی است از روی ۹ رقم سمت چپ رقم کنترل را محاسبه کرده و برابر بودن آن با آخرین رقم از سمت راست را بررسی کنیم.
از آنجایی که در ساختار کد ملی معمولاً تعدادی صفر در ابتدای آن وجود دارد (رقم اول و رقم دوم از سمت چپ کد ملی ممکن است صفر باشد)، در بسیاری از موارد ممکن است کاربر این صفرها را وارد نکرده باشد یا نرمافزار این صفرها را ذخیره نکرده باشد؛ بنابراین پیش از انجام پردازش بر روی کد توصیه میشود در صورتی که طول کد بزرگتر مساوی ۸ و کمتر از ۱۰ باشد به تعداد لازم (یک تا دو تا صفر) به سمت چپ رشته اضافه گردد. در ادامه فرایند محاسبه رقم کنترل کد ملی نشان داده شدهاست.
تشخیص صحت کد ملی
کد ملی شماره ای است 10 رقمی که از سمت چپ سه رقم کد شهرستان محل صدور شناسنامه ، شش رقم بعدی کد منحصر به فرد برای فرد دارنده شناسنامه در شهرستان محل صدرو و رقم آخر آن هم یک رقم کنترل است که از روی 9 رقم سمت چپ بدست می آید. برای بررسی کنترل کد کافی است مجدد از روی 9 رقم سمت چپ رقم کنترل را محاسبه کنیم
از آنجایی که درسیستم کد ملی معمولا قبل از کد تعدادی صفر وجود دارد.(رقم اول و رقم دوم از سمت چپ کد ملی ممکن است صفر باشد) و در بسیاری از موارد ممکن است کاربر این صفرها را وارد نکرده باشد و یا نرم افزار این صفرها را ذخیره نکرده باشد بهتر است قبل از هر کاری در صورتی که طول کد بزرگتر مساوی 8 و کمتر از 10 باشد به تعداد لازم (یک تا دو تا صفر) به سمت چپ عدد اضافه کنید. ساختار کد ملی در زیر نشان داده شده است
ساختار کد ملی |
||||||||||
ارقام کد | رقم کنترل | 9 رقم سمت چپ کد ملی | ||||||||
موقعیت | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1- برای محاسبه رقم کنترل از روی سایر ارقام ، هر رقم را در موقعیت آن ضرب کرده و حاصل را با هم جمع می کنیم.
2- مجموع بدست آمده از مرحله یک را بر 11 تقسیم می کنیم.
3- اگر باقیمانده کمتر از 2 باشد ، رقم کنترل باید برابر باقیمانده باشد در غیر اینصورت رقم کنترل باید برابر یازده منهای باقیمانده باشد
مثال : آیا کد 7731689951 یک کد ملی معتبر است؟
برای این منظور کد
ساختار کد ملی |
||||||||||
ساختار کد | رقم کنترل | 9 رقم سمت چپ کد ملی | ||||||||
ارقام کد | 1 | 5 | 9 | 9 | 8 | 6 | 1 | 3 | 7 | 7 |
موقعیت | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
محاسبه حاصل ضرب | 10 | 27 | 36 | 40 | 36 | 7 | 24 | 63 | 70 |
حاصل جمع ضرب ارقام 2 الی 10 را در موقعیت آنها محاسبه می کنیم
7*10+7*9+3*8+1*7+6*6+8*5+9*4+9*3+5*2=313
313÷11=28 و R=5
چون باقیمانده برابر 5 و بزرگتر مساوی 2 است پس باید رقم کنترل این کد برابر 6 ( یازده منهای 5 برابر 6 )باشد.
با دقت در کد متوجه می شویم که رقم کنترل ورودی برابر 1 است پس کد مورد نظر به عنوان یک کد معتبر قابل قبول نیست.
سیستم آنلاین بررسی صحت کد ملی
برای بررسی صحت کد ملی ، کد ملی مورد نظرتان را در زیر وارد کرده و بر روی دکمه کنترل کد ملی کلیک کنید.
کد ملی مورد نظر را وارد کنید
محشر دات کام سایتی قدیمی و پربازدید!. تبلیغات در محشر دات کام به صورت کلیکی، گزینه خیلی خوب و مقرون به صرفه ای برای تبلبغات است. هر کلیک فقط 100 تومان!اگر مطلب "تشخیص صحت کد ملی" برای شما مفید بوده است با کلیک بر روی آگهی های زیر از ما حمایت کنید و در صورت تمایل برای درج آگهی در صفحه مربوط به: تشخیص صحت کد ملی در وب سایت محشر، با شماره 09123833830 تماس بگیرید و یا واتس آپ پیام بدید
مطلب تشخیص صحت کد ملی را برای دوستان خود ارسال کنید
ارسال تشخیص صحت کد ملی در فیسبوکارسال تشخیص صحت کد ملی در تویتر
ارسال تشخیص صحت کد ملی در واتس آپ
ارسال تشخیص صحت کد ملی در تلگرام
خبرخوان تشخیص صحت کد ملی