تبلیغات
«كشكول نامه» - فرمول تشخیص صحت کد ملی
 
«كشكول نامه»
درباره وبلاگ



مدیر وبلاگ : محمد سوری
نویسندگان
پیوندهای روزانه
پیوندها
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
در آدرس http://www.irandevelopers.com/fomulacodemelli8709251705.htm مطلب جالبی در مورد نحوه تشخیص صحت كد ملی ارائه شده است.
پس از مطالعه این مقاله كه به زبان بسیار ساده هم بیان شده است، برنامه‌ای به زبان دلفی نوشتم كه با اجرای آن می‌توانید صحت كد ملی خود را تشخیص دهید.



برای دانلود برنامه نوشته شده به زبان دلفی، همراه با Source از این لینك (با حجم 233 كیلو بایت) استفاده نمایید و برای دانلود فایل اجرایی برنامه به تنهایی، از این لینك (222 كیلوبایت) استفاده كنید.

رمز عبور برای باز كردن فایل‌ها: http://course.mihanblog.com

اصل مقاله نیز در ادامه مطلب قرار داده شده است. 

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

مختلف و در فرمهای ورود اطلاعات مورد نیاز شما باشد را آموزش دهم.

همانطور که می دانید همه ارگانها و سازمانهای دولتی جمهوری اسلامی و شرکتهای تابعه موظف شده اند از

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

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

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

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

۰۰۰۰۰۰۰۰۰۰

۱۱۱۱۱۱۱۱۱۱

۲۲۲۲۲۲۲۲۲۲

۳۳۳۳۳۳۳۳۳۳

۴۴۴۴۴۴۴۴۴۴

۵۵۵۵۵۵۵۵۵۵

۶۶۶۶۶۶۶۶۶۶

۷۷۷۷۷۷۷۷۷۷

۸۸۸۸۸۸۸۸۸۸

۹۹۹۹۹۹۹۹۹۹

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

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

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

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

قرار می دهیم.

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

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

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

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

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

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;
{





نوع مطلب : ترفند، دلفی، 
برچسب ها : كد ملی، تشخیص صحت كد ملی،
لینک های مرتبط : فرمول تشخیص صحت کد ملی ( کارت ملی شناسایی )،

       نظرات
چهارشنبه 4 دی 1387
محمد سوری
سه شنبه 25 بهمن 1390 11:30 ق.ظ
با سلام خدمت شما
می خواستم بپرسم که چطوری میشه این برنامه با دشتگاه متصل بشه مثلا زمانی که کارت ملی طرف میاد زیر دستگاه لیزر و اون دستگاه اسکن میکنه چطوری باید اینکارو کرد نیم دونم منظورم رو رسوندم یا نه اخه مثلا برای دستگاه مثلا کارت گواهی نامه هم ببری زیرش اسکن که کرد قبول میکنه میخواستم راهنماییم کنید بسیار سپاس گذارم از ارئه دادن چنین برنامه مفیدی
با تشکر از شما
محمد سوریسلام
نمیدونم منظورتونو درست متوجه شدم یا نه.
معمولاً هر سخت افزاری اعم از چاپگر یا بارکد خوان و ... یک API به صورت یک فایل OCX یا DLL همراهشون ارائه میشه که درون محیط برنامه نویسی به عنوان ActivX نصب میشه. بعد از اون به راحتی می‌توانید از آن کامپوننت استفاده کرده و بارکد را بخوانید و سپس کدی که توسط بارکدخوان ارائه شده است را طبق فرمول داده شده، بررسی می کنید.
شنبه 20 تیر 1388 11:47 ق.ظ
Webloge por mohtavaye shoma nazare man ra jalb nemood va khoshhal mishavam ke shoma niz az site ma didan farmayid va dar soorate tamayol tabadole link namayim
Lazem be zekr ast ke in majmooye dar bakhshe gerafic niz faaleyat nemoode va dar soorate niaze shoma be tarahi jahate banerha va gheyre mitavanim be shoma komak konim
Ba tashakor
جمعه 4 بهمن 1387 02:10 ب.ظ
salam .ostad kod meele man jor dar nayomad.lotfaen ye barname benevis kod meele tolid kone
محمد سوریسلام
معلوم میشه شما هویت درستی ندارید. احتمالاً یك مهاجم خارجی باشید!
جمعه 4 بهمن 1387 02:00 ب.ظ
salam.ostad omadyimo kod mele jor dar nayomad
ye barname ham benevis ke kod meele tolid kone
محمد سوریسلام
اینو دیگه خودتون بنویسید. كسی كه به فكر جعل هویت هست، خودش هم باید كارهای مربوطه را انجام بده!
دوشنبه 16 دی 1387 12:39 ق.ظ
سلام
منم اهل تقلب نیستم واصلا ازتقلب خوشم نمی آد می خواستم فایل رو به صورت powerpoint در بیارم.
بازم ممنون از راهنماییتون
محمد سوریسلام
آفرین بر شما، پس تنها راهش، تایپ مجدد است.
یکشنبه 15 دی 1387 04:30 ب.ظ
سلام استاد
می خواستم بدونم چطور می توانم فایل هایی با پسوندpdfرو تبدیل به پسوندdoc یا txtكنم.چون شدیدا به اون مطالب نیاز دارم و نمی تونم ازشون كپی بگیرم
محمد سوریسلام
برای PDFهای فارسی چنین امكانی وجود ندارد. لااقل هنوز برنامه‌ای برای این كار پیدا نكرده‌ام. اما اگر انگلیسی باشد، برنامه زیاده.
ضمناً تقلب اصلاً كار خوبی نیست. این كارو كردن كه دیگران از مطالب ما كپی نگیرن.
اگه خیلی بهش احتیاج دارید برای تحویل به یك استاد به عنوان پروژه، زحمت بكشید و تایپش كنید.
یکشنبه 15 دی 1387 03:04 ب.ظ
استاد حالا شماره کد ملی تون معتبر هستش یا نه؟
محمد سوریآقا مجتبی!!!
می‌دونستی كه سلام، سلامتی میاره!!
پس اول سلام.
دوم، ظاهراً كد ملی ما درسته!!
پنجشنبه 12 دی 1387 10:31 ق.ظ
سلام آستاد آپی که کردین خیلی باید بگم خیلی جالبه ممنونم
چهارشنبه 11 دی 1387 12:16 ب.ظ
سلام استاد
خوب هستین؟
جالب بود
محمد سوریسلام
ممنون. كماكان زنده‌ایم!
چهارشنبه 4 دی 1387 01:36 ق.ظ
محفل آریاییتان طلایی
دلهایتان دریایی
شادیهایتان یلدایی
مبارک باد این شب اهورایی
.
.
.
سلام استاد
کی به کیه، شب یلدای ما هم امشب بود
.
.
.
پایدار باشین
محمد سوریبه سلامتی!!!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نظرات پس از تایید نشان داده خواهند شد.