الگوریتم تشخیص صحت کد ملی ( کارت ملی شناسایی )

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

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

سازمان ثبت احوال کشور در راستای ارائه کارت ملی روشی را برای تولید کدهای ملی استفاده نموده است که با استفاده از آنها می توانیم کدهایی داشته باشیم که از امنیت بالایی برخوردار باشند و همچنین قابلیت تقلب نداشته باشند.

 همه کدهای ملی ۱۰ رقمی هستند.

کدهای ملی که همه ارقام آنها مثل هم باشند معتبر نیستند مثل :

۰۰۰۰۰۰۰۰۰۰

۱۱۱۱۱۱۱۱۱۱

۲۲۲۲۲۲۲۲۲۲

۳۳۳۳۳۳۳۳۳۳

۴۴۴۴۴۴۴۴۴۴

۵۵۵۵۵۵۵۵۵۵

۶۶۶۶۶۶۶۶۶۶

۷۷۷۷۷۷۷۷۷۷

۸۸۸۸۸۸۸۸۸۸

۹۹۹۹۹۹۹۹۹۹

 

روش اعتبار سنجی کد ملی :

 دهمین رقم شماره ملی را ( از سمت چپ ) به عنوان A  در نظر می گیریم.

یک مقدار B در نظر می گیریم و آن را برابر با :

 (اولین رقم * ۱۰) + ( دومین رقم * ۹ ) + ( سومین رقم * ۸ ) + ( چهارمین رقم * ۷ ) + ( پنجمین رقم * ۶) + ( ششمین رقم * ۵ ) + ( هفتمین رقم * ۴ ) + ( هشتمین رقم * ۳ ) + ( نهمین رقم * ۲ )

قرار می دهیم.

مقدار C را برابر با  B – (B/11)*11 قرار می دهیم.

اگر مقدار C برابر با صفر باشد و مقدار A برابر C باشد کد ملی صحیح است.

اگر مقدار C برابر با ۱ باشد و مقدار A برابر با ۱ باشد کد ملی صحیح است.

اگر مقدار C بزرگتر از ۱ باشد و مقدار A برابر با ۱۱ – C باشد کد ملی صحیح است.

در پایان یک نمونه کد جاوا اسکریپت جهت چک کردن کد ملی تقدیم می گردد :

کد زیر را می توانید از طریق اینجا  در قالب فایل txt  دانلود کنید .

function checkMelliCode(varmellicode)
{
var meli_code;
meli_code=varmellicode.value;
if (meli_code.length == 10)
{
if(meli_code==’1111111111′ ||
meli_code==’0000000000′ ||
meli_code==’2222222222′ ||
meli_code==’3333333333′ ||
meli_code==’4444444444′ ||
meli_code==’5555555555′ ||
meli_code==’6666666666′ ||
meli_code==’7777777777′ ||
meli_code==’8888888888′ ||
meli_code==’9999999999′ )
{
alert(”کد ملی صحیح نمی باشد”);
objcode.focus();
return false;
}
c = parseInt(meli_code.charAt(9));
n = parseInt(meli_code.charAt(0))*10 +
parseInt(meli_code.charAt(1))*9 +
parseInt(meli_code.charAt(2))*8 +
parseInt(meli_code.charAt(3))*7 +
parseInt(meli_code.charAt(4))*6 +
parseInt(meli_code.charAt(5))*5 +
parseInt(meli_code.charAt(6))*4 +
parseInt(meli_code.charAt(7))*3 +
parseInt(meli_code.charAt(8))*2;
r = n - parseInt(n/11)*11;
if ((r == 0 && r == c) || (r == 1 && c == 1) || (r > 1 && c == 11 - r))
{
return true;
}
else
{
alert(”کد ملی صحیح نمی باشد”);
objcode.focus();
return true;
}
}
else
{
return true;
}

منبع : سایت دانشجویان کامپیوتر و آی تی پیام نور آران و بیدگل


مطالب مشابه :


کد ملی و شهر محل صدور (شهر محل تولد) مربوط به آن

مرجع کامل کد ملی و کد پستی - کد ملی و شهر محل صدور (شهر محل تولد) مربوط به آن - اگر این وب برات




کد ملی شماره حساب جاری افراد می شود

پست بانک مایان - کد ملی شماره حساب جاری افراد می شود - خدمات ویژه پست بانک




پیدا کردن شماره تلفن و آدرس و... افراد در اینترنت( انگار نه انگار)

افراد در اینترنت( انگار نه انگار) (مثل کد ملی) که با هر بار وصل شدن به ایترنت تغییر میکنه




الگوریتم تشخیص صحت کد ملی ( کارت ملی شناسایی )

در این مقاله می خواهیم به شما طریقه تشخیص صحت کد ملی را که افراد به نام کد ملی درج




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

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




روش پیدا کردن نشانی و آدرس افراد با داشتن نام و نام خانوادگی

manaiger - روش پیدا کردن نشانی و آدرس افراد با داشتن نام و نام خانوادگی -




الگوریتم تشخیص صحت کد ملی ( کارت ملی شناسایی )

# ممهدون للمهدی # تفریحی # - الگوریتم تشخیص صحت کد ملی ( کارت ملی شناسایی ) - بخش تفریحی و اجتماعی




برای خرید آرم روزانه و هفتگی می بایست به موارد زیر توجه نمایید

· افراد حقیقی نام- نام خانوادگی- کد ملی · افراد حقوقی نام شرکت




برچسب :