@mohaligateway
@eniack
@mhyeganeh
@ali.bayat
چطوری کد ملی رو اعتبار سنجی کنیم
از این تابع میتونی استفاده کنی
function check_national_code($value)
{
if(!preg_match('/^[0-9]{10}$/',$value)) {
return (bool) false;
}
for($i=0;$i<10;$i++)
if(preg_match('/^'.$i.'{10}$/',$value)) {
return (bool) false;
}
for($i=0,$sum=0;$i<9;$i++)
$sum+=((10-$i)*intval(substr($value, $i,1)));
$ret=$sum%11;
$parity=intval(substr($value, 9,1));
if(($ret<2 && $ret==$parity) || ($ret>=2 && $ret==11-$parity)) {
return (bool) true;
}
return (bool) false;
}
سلام
شماره کد ملی دارای ده رقم در سه گروه ۳، ۶ و ۱ رقمی است که سه رقم اول مربوط به محل تولد میباشد. در کارت بین سه گروه رقمها با خط تیره فاصلهگذاری شدهاست ولی معمولا هنگام درج مشخصات و کد ملی نیازی به جداگانهنویسی ارقام وجود ندارد و از چپ به راست ده رقم پشت سرهم نوشته میشوند.
کد ملی شمارهای است ۱۰ رقمی که از سمت چپ سه رقم کد شهرستان محل صدور شناسنامه، شش رقم بعدی کد منحصربهفرد برای فرد دارنده شناسنامه در شهرستان محل صدور و رقم آخر آن هم یک رقم کنترل است که از روی ۹ رقم سمت چپ بهدست میآید. برای راستیآزمایی کد کافی است کد ملی خود را بدون خط تیره در فیلد زیر وارد کرده تا صحت کد ملی مشخص گردد. درصورتی که کد با صفر شروع شده حتما عدد صفر هم وارد شود.
@ftp
سلام دوست من ،
این مورد رو داخل گوگل سرچ کنید حداقل ۲۰ نتیجه خوب میاره واستون که میتونید استفاده کنید و توضیحاتشون رو بخونید ،
اینم خودش یک مهارت هست که چیزی که نمیدونید رو برید دنبالش سرچ کنید و بدست بیارید ،
با احترام🙏
سلام دوست عزیز.باید اول یک RULE ایجاد کنی و سپس این کد رو بزار و استفاده کن :
`if(!preg_match('/^[0-9]{10}$/',$value)) return false; for($i=0;$i<10;$i++) if(preg_match('/^'.$i.'{10}$/',$value)) return false; for($i=0,$sum=0;$i<9;$i++) $sum+=((10-$i)*intval(substr($value, $i,1))); $ret=$sum%11; $parity=intval(substr($value, 9,1)); if(($ret<2 && $ret==$parity) || ($ret>=2 && $ret==11-$parity)) return true; return false;`
از این تابع میتونی استفاده کنی
function check_national_code($value)
{
if(!preg_match('/^[0-9]{10}$/',$value)) {
return (bool) false;
}
for($i=0;$i<10;$i++)
if(preg_match('/^'.$i.'{10}$/',$value)) {
return (bool) false;
}
for($i=0,$sum=0;$i<9;$i++)
$sum+=((10-$i)*intval(substr($value, $i,1)));
$ret=$sum%11;
$parity=intval(substr($value, 9,1));
if(($ret<2 && $ret==$parity) || ($ret>=2 && $ret==11-$parity)) {
return (bool) true;
}
return (bool) false;
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟