توی کد زیر که بوسیله جاوا اسکریپت نوشته شده میشه فهمید که کد ملی وارد شده معتبر هستش یا نه!!!
تابع 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;
}
}
تبلیغات 