주민번호 법인 사업자 체크 관련


새벽에 그냥 아무 생각없이 이걸 내가 왜 하고 있는지 모르겠다만;;;

그냥 그적 그적 테스트 해보다가 메모삼아 적아 둠 


그냥 테스트 체크용으로 그적 거리다가 메모할곳이 필요해 올려둠


소스보면 특정 값을 좀 찍어 볼려고 리턴값을 어떤건 배열로 받아 두기도 하고해서 정리가 필요 할테지만

그냥 요소요소 참고용으로 보면 될것 같음


function RegNoCheck ($number){

$RegNoCheck = array();

        $number = ereg_replace("[^0-9]", "", $number);

        if(strlen($number) == 13) { $flag = 1; }

        elseif (strlen($number) == 10) { $flag = 0; }

        else { return false; }

        

        // $etno = @explode("", $number);

        for ($i=0; $i < strlen($number); $i++) {

                $etno[$i] = substr($number, $i, 1);

        }

        

        if ($flag){

                if ($etno[6] > 0) { 

                        // 주민

                        if (abs((11-($etno[0]*2+$etno[1]*3+$etno[2]*4+$etno[3]*5+$etno[4]*6+$etno[5]*7+$etno[6]*8+$etno[7]*9+$etno[8]*2+$etno[9]*3+$etno[10]*4+$etno[11]*5)%11)%10) == $etno[12]) {

$RegNoCheck['result'] = true;

$RegNoCheck['sex'] = $etno[6];

$RegNoCheck['age'] = $etno[0].$etno[1];

return $RegNoCheck; 

} else { return false; }

                } elseif ($etno[6] == 0) { 

                        // 법인

                        if (abs((10-($etno[0]*1+$etno[1]*2+$etno[2]*1+

                                $etno[3]*2+$etno[4]*1+$etno[5]*2+$etno[6]*1+

                                $etno[7]*2+$etno[8]*1+$etno[9]*2+$etno[10]*1+

                                $etno[11]*2)%10)%10) == $etno[12])

                        { return true; } else { return false; }

                } else { return false; } 

        } else {

                // 사업자

                $sum = $etno[0]*1+$etno[1]*3+$etno[2]*7+$etno[3]*1+

                        $etno[4]*3+$etno[5]*7+$etno[6]*1+$etno[7]*3;

                $tmp = $etno[8]*5;

                $tmp = sprintf("%02d", $tmp);

                ereg("(.)(.)", $tmp, $tmp_arr);

                $sum += $tmp_arr[1] + $tmp_arr[2];

                $sum = substr($sum, strlen($sum)-1, 1);

                $sum = abs(10-$sum); $sum = substr($sum, strlen($sum)-1, 1);

                if ($sum == $etno[9]) { return true; } else { return false; }

        }

}



$RegNo_ = RegNoCheck("123456-1234567");

if ($RegNo_[result]){

echo "주민번호가 맞다 <br>";

if($RegNo_[sex] == '9'){

echo "1800년대 남자 <br>";

}else if($RegNo_[sex] == '0'){

echo "1800년대 여자 <br>";

}else if($RegNo_[sex] == '1'){

echo "1900년대 남자 <br>";

$age = 1900 + $RegNo_[age];

echo "년도 : ".$age."<br>";

echo date("Y") - $age;

}else if($RegNo_[sex] == '2'){

echo "1900년대 여자 <br>";

}else if($RegNo_[sex] == '3'){

echo "2000년대 남자 <br>";

}else if($RegNo_[sex] == '4'){

echo "2000년대 여자 <br>";

}else if($RegNo_[sex] == '5'){

echo "1900년대 귀화 남자 <br>";

}else if($RegNo_[sex] == '6'){

echo "1900년대 귀화 여자 <br>";

}else if($RegNo_[sex] == '7'){

echo "2000년대 귀화 남자 <br>";

}else if($RegNo_[sex] == '8'){

echo "2000년대 귀화 여자 <br>";

}

}else{

echo "주민번호가 틀리다. <br>";

}

저작자 표시 동일 조건 변경 허락
신고

'☆Develpoer > └ php' 카테고리의 다른 글

Heredoc string  (0) 2015.03.22
PHP get_defined_vars 모든 변수 출력  (0) 2014.07.24
주민번호 법인 사업자 체크 관련  (0) 2014.06.21
[PHP] include된 파일목록 출력하기  (1) 2013.10.17
PHPExcel 파일 출력  (0) 2013.04.30
PHPExcel 엑셀파일 읽기  (3) 2013.04.30