تعداد بازدید: 2301
کد ملی شماره ای است 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 است پس کد مورد نظر به عنوان یک کد معتبر قابل قبول نیست.
قطعه کد چک صحت کد ملی در PHP
function _custom_check_national_code($code)
{
if(!preg_match('/^[0-9]{10}$/',$code))
return false;
for($i=0;$i<10;$i++)
if(preg_match('/^'.$i.'{10}$/',$code))
return false;
for($i=0,$sum=0;$i<9;$i++)
$sum+=((10-$i)*intval(substr($code, $i,1)));
$ret=$sum%11;
$parity=intval(substr($code, 9,1));
if(($ret<2 && $ret==$parity) || ($ret>=2 && $ret==11-$parity))
return true;
return false;
}
قطعه کد چک صحت کد ملی در Java Script
function checkCodeMeli(code)
{
var L=code.length;
if(L<8 || parseInt(code,10)==0) return false;
code=('0000'+code).substr(L+4-10);
if(parseInt(code.substr(3,6),10)==0) return false;
var c=parseInt(code.substr(9,1),10);
var s=0;
for(var i=0;i<9;i++)
s+=parseInt(code.substr(i,1),10)*(10-i);
s=s%11;
return (s<2 && c==s) || (s>=2 && c==(11-s));
return true;
}
مطالب تصادفی
- چگونه یک قیمه نذرى خوب بپزیم؟
- 18. ایده های عاشقانه
- شخصیت شناسی با انتخاب میوه
- تاثير ازدواج از نظر سلامتی؛ازدواج برای زنان به اندازه مردان نفع ندارد
- هفته هفتم
- چطور از شل شدن و افتادگی پوست گردن جلوگیری کنید
- این مواد مثل وایتکس تمیز میکنند. باورتان میشود؟
- رنگ ها در html
- علت بوجود آمدن ترکهای پوستی در بارداری
- طرز تهیه کوفته برنجی سوخاری