PHP

주민등록번호, 사업자등록번호 검사

은둔한량 2013. 2. 19. 15:06
반응형

//주민번호 검사
function RegiNum($reginum) {
    $weight = '234567892345'; // 자리수 weight 지정
    $len = strlen($reginum);
    $sum = 0;
    if ($len <> 13) { return false; }
    for ($i = 0; $i < 12; $i++) {
        $sum = $sum + (substr($reginum,$i,1) * substr($weight,$i,1));
    }
    $rst = $sum%11;
    $result = 11 - $rst;
    if ($result == 10) {$result = 0;}
    else if ($result == 11) {$result = 1;}
    $jumin = substr($reginum,12,1);
    if ($result <> $jumin) {return false;}
    return true;
}


//사업자번호 검사
function comRegiNum($reginum) {
    $weight = '137137135'; // 자리수 weight 지정
    $len = strlen($reginum);
    $sum = 0;
    if ($len <> 10) { return false; }
    for ($i = 0; $i < 9; $i++) {
        $sum = $sum + (substr($reginum,$i,1) * substr($weight,$i,1));
    }
    $sum = $sum + ((substr($reginum,8,1)*5)/10);
    $rst = $sum%10;
    if ($rst == 0) {$result = 0;}
    else {$result = 10 - $rst;}
    $saub = substr($reginum,9,1);
    if ($result <> $saub) {return false;}
    return true;
}

반응형