تبلیغات
iranexperts - چک کردن کد ملی و اعتبار سنجی آن
پنجشنبه 2 تیر 1390  06:00 ب.ظ    ویرایش: پنجشنبه 2 تیر 1390 06:12 ب.ظ
توسط: کاظم
نوع مطلب: jQuery ،
ارسال به

خیلی برام جالب بود که متوجه شدم شماره گذاری کد ملی بر اساس یک فرمول ریاضی انجام میشه.
توی کد زیر که بوسیله جاوا اسکریپت نوشته شده میشه فهمید که کد ملی وارد شده معتبر هستش یا نه!!!
تابع parsint یک رشته را تبدیل به عدد می کنه
تابع charAt هم کاراکتری رو بر میگردونه که با ایندکسش برابر باشه. ایندکس رشته در جاوا اسکریپت از صفر شروع میشه.







function checkMelliCode(meli_code) {
 
   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') {
           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 {
           return false;
       }
   } else {
       return false;
   }
}
 

   


نظرات()   

iranexperts

آموزش جی کوئری ، html5 و CSS3