다음과 같은 주민번호가 있다고 칩시당^^
123456-1231234
거기에
234567-892345 이숫자를 세로로 곱해 줍니다. (이건 공식입니당 무조건 정해졌어요~)
예를들면 맨 앞자리 1과 2를 곱하고 두번째 자리끼리 2랑 3이랑 곱하고~
세로로 다 곱했으면 그 곱한 숫자를 모두 더해줍니다.
세로로 곱하고 가로로 다 더한값을 11로 나눕니다.
그러면, 나머지 값이 나오는데...
11에서 그 나머지값을 빼줍니다.
뺀값을 다시 10으로 나누어서 나머지값이 주민등록번호 맨 마지막 숫자가 되는것입니다. 엄청 쉽죠?
잘 보세요~ 그럼 쉬워요~ 위 예제대로 라면 7이 출력되겠죠?
판단은 맨 마지막 숫자랑 똑같으면 tue 다르면 false 로 하면 됩니다.
소스는 아래에.
<?
$juminbunho = "주민등록번호";
$a = "234567892345";
for ($i=0; $i<=11; $i++) {
$sum += substr($a,$i,1) * substr($juminbunho,$i,1);
}
$check = (11 - ($sum % 11)) % 10;
if ($check == substr($juminbunho,12,1)){
echo "주민등록번호 통과 성공";
} else {
echo "주민등록번호 통과 실패";
}
?>