اعتبار سنجی ( صحت ) کد ملی در PHP

اعتبار سنجی ( صحت ) کد ملی در PHP

اعتبار سنجی ( صحت ) کد ملی در PHP – با کمک این آموزش یاد خواهید گرفت کد ملی را بررسی کرده و به کاربر نمایش دهید آیا کد ملی وارد شده معتبر می باشد یا خیر .

ابتدا باید در نظر داشت که کد ملی شامل 10 رقم می باشد ، و بدون حروف .


باید در نظر داشت اعتبار سنجی کد ملی 3 رقم اول مربوط به شهر / استان می باشد 6 رقم بعدی منحصر به فرد و رقم آخر کنترلی و حاصلی از 9 رقم اول است .

( صحت ) کد ملی به صورت عملی

$meli = '1234667891';

function checkMeliCode($meli)
{
  
  $cDigitLast = substr($meli , strlen($meli)-1);
  $fMeli = strval(intval($meli));

  if((str_split($fMeli))[0] == "0" && !(8 <= strlen($fMeli)  && strlen($fMeli) < 10)) return false;

  $nineLeftDigits = substr($meli , 0 , strlen($meli) - 1);
  
  $positionNumber = 10;
  $result = 0;

  foreach(str_split($nineLeftDigits) as $chr){
  		$digit = intval($chr);
  		$result += $digit * $positionNumber;
  		$positionNumber--;
  }

  $remain = $result % 11;

  $controllerNumber = $remain;

  if(2 <= $remain){
  	$controllerNumber = 11-$remain;
  }

  return $cDigitLast == $controllerNumber;
  
}

echo checkMeliCode($meli) ? 'معتبر' : 'نا معتبر';

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us