새벽에 그냥 아무 생각없이 이걸 내가 왜 하고 있는지 모르겠다만;;;
그냥 그적 그적 테스트 해보다가 메모삼아 적아 둠
그냥 테스트 체크용으로 그적 거리다가 메모할곳이 필요해 올려둠
소스보면 특정 값을 좀 찍어 볼려고 리턴값을 어떤건 배열로 받아 두기도 하고해서 정리가 필요 할테지만
그냥 요소요소 참고용으로 보면 될것 같음
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>";
}
'php' 카테고리의 다른 글
Heredoc string (0) | 2015.03.22 |
---|---|
PHP get_defined_vars 모든 변수 출력 (0) | 2014.07.24 |
[PHP] include된 파일목록 출력하기 (1) | 2013.10.17 |
PHPExcel 파일 출력 (0) | 2013.04.30 |
PHPExcel 엑셀파일 읽기 (3) | 2013.04.30 |