Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Code_Meli_Checker

Iran Residential ID Number Checker

مشاهده ویدیو در آپارات
API Documentation
Docker Hub

تشخیص صحت کد ملی

امروزه در اکثر نرم افزارهای تولیدی نیاز به استفاده از کد ملی به عنوان یک مشخصه منحصر به فرد برای اطلاعات فردی می باشد.

از طرفی متاسفانه در حال حاضر هیچ الگوریتمی برای تشخیص صحت کد ورودی در اختیار برنامه نویسان وجود ندارد.

اخیرا با توجه به نیاز خودم به کنترل صحت کد ورودی الگوریتم مربوط به کنترل صحت کد ملی را بدست آوردم و چون مطمئن هستم افراد زیادی هم همین نیاز را دارند روال انجام کار را در این مقال توضیح می دهم

کد ملی شماره ای است 10 رقمی که از سمت چپ سه رقم کد شهرستان محل صدور شناسنامه ، شش رقم بعدی کد منحصر به فرد برای فرد دارنده شناسنامه در شهرستان محل صدرو و رقم آخر آن هم یک رقم کنترل است که از روی 9 رقم سمت چپ بدست می آید. برای بررسی کنترل کد کافی است مجدد از روی 9 رقم سمت چپ رقم کنترل را محاسبه کنیم

ساختار کد ملی در زیر نشان داده شده است:

 

ساختار کد ملی

ارقام کد رقم کنترل 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 است پس کد مورد نظر به عنوان یک کد معتبر قابل قبول نیست.

 

 

 

About

Iran Residential ID Number Checker

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages