mnoori
پنج شنبه 17 مهر 1393, 22:50 عصر
در بسیاری از نرم افزار ها نیاز به چک کردن درستی کد ملی است تا از اشتباهات کاربر در ثبت کد ملی مورد نظر در سیستم جلوگیری شود از این جهت تصمیم گرفتم چک کردن کد ملی به زبان php که خودم در سایت حمد سافت (http://www.hamdsoft.ir) ارائه کردم رو هم برای شما دوستان قرار بدم امید وارم که یه جایی کمکتون بکنه
function CheckMeliCode($meli_code)
{
if (strlen($meli_code) == 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' ||
$meli_code == '0123456789'
)
{
//echo 'كد ملي صحيح نمي باشد';
return false;
}
$c = substr($meli_code,9,1);
$n = substr($meli_code,0,1) * 10 +
substr($meli_code,1,1) * 9 +
substr($meli_code,2,1) * 8 +
substr($meli_code,3,1) * 7 +
substr($meli_code,4,1) * 6 +
substr($meli_code,5,1) * 5 +
substr($meli_code,6,1) * 4 +
substr($meli_code,7,1) * 3 +
substr($meli_code,8,1) * 2;
$r = $n - (int)($n / 11) * 11;
if (($r == 0 && $r == $c) || ($r == 1 && $c == 1) || ($r > 1 && $c == 11 - $r))
{
//echo ' کد ملی صحیح است';
return true;
}
else
{
//echo 'كد ملي صحيح نمي باشد';
return false;
}
}
else
{
//echo 'طول کد ملی وارد شده باید 10 کاراکتر باشد';
return false;
}
}
منبع: http://www.hamdsoft.ir/content/143
function CheckMeliCode($meli_code)
{
if (strlen($meli_code) == 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' ||
$meli_code == '0123456789'
)
{
//echo 'كد ملي صحيح نمي باشد';
return false;
}
$c = substr($meli_code,9,1);
$n = substr($meli_code,0,1) * 10 +
substr($meli_code,1,1) * 9 +
substr($meli_code,2,1) * 8 +
substr($meli_code,3,1) * 7 +
substr($meli_code,4,1) * 6 +
substr($meli_code,5,1) * 5 +
substr($meli_code,6,1) * 4 +
substr($meli_code,7,1) * 3 +
substr($meli_code,8,1) * 2;
$r = $n - (int)($n / 11) * 11;
if (($r == 0 && $r == $c) || ($r == 1 && $c == 1) || ($r > 1 && $c == 11 - $r))
{
//echo ' کد ملی صحیح است';
return true;
}
else
{
//echo 'كد ملي صحيح نمي باشد';
return false;
}
}
else
{
//echo 'طول کد ملی وارد شده باید 10 کاراکتر باشد';
return false;
}
}
منبع: http://www.hamdsoft.ir/content/143