주민등록번호 검사.. > MySQL Tip

본문 바로가기
 

주민등록번호 검사..

페이지 정보

작성자 이름으로 검색 댓글 0건 조회 14,583회 작성일 05-08-07 19:33

본문




주민등록번호 검사..
 

글쓴이 : 방준성


저작권자 이메일 :
noh1017@orgio.net


출처 :

http://www.koreaphp.co.kr


작성일 : 2002/04/26 12:22:12


 


글내용




뒷자리는 출생신고를 한 동사무소(?)와 관련이 있다고 하던데...ㅡ.ㅡ;;



암튼 뒷자리 주민번호와 일련번호(1,2,3,4,5,6,7,8,...n)를 곱한 합을 11로 나누어 그
나머지를 11에서



뺀 값이 주민번호 맨 마지막 번호와 일치하면 맞는 번호고 아니면



틀린번호라죠?? 그걸 검사하는 소스입니다. 날짜까지 하네요....우와~



<?php

// 주민등록번호 유효성 검사: 올바른 경우 true, 틀린 경우 false 반환

function resnoCheck($resno1, $resno2) {

$resno = $resno1 . $resno2;



// 형태 검사: 총 13자리의 숫자, 7번째는 1..4의 값을 가짐

if (!ereg('^[[:digit:]]{6}[1-4][[:digit:]]{6}$', $resno))


return false;



// 날짜 유효성 검사

$birthYear = ('2' >= $resno[6]) ? '19' : '20';

$birthYear += substr($resno, 0, 2);

$birthMonth = substr($resno, 2, 2);

$birthDate = substr($resno, 4, 2);

if (!checkdate($birthMonth, $birthDate, $birthYear))

return false;



// Checksum 코드의 유효성 검사

for ($i = 0; $i < 13; $i++) $buf[$i] = (int) $resno[$i];

$multipliers = array(2,3,4,5,6,7,8,9,2,3,4,5);

for ($i = $sum = 0; $i < 12; $i++) $sum += ($buf[$i] *=
$multipliers[$i]);

if ((11 - ($sum % 11)) % 10 != $buf[12])

return false;



// 모든 검사를 통과하면 유효한 주민등록번호임

return true;

}

?>


댓글목록

등록된 댓글이 없습니다.

Total 243건 10 페이지
MySQL Tip 목록
번호 제목 글쓴이 조회 날짜
81 이름으로 검색 15192 08-07
80 차동박 이름으로 검색 14972 12-20
79 이름으로 검색 14903 08-07
78 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 14888 02-16
77 이름으로 검색 14813 08-07
76 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 14809 02-11
75 이름으로 검색 14761 08-07
74 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 14680 09-27
열람중 이름으로 검색 14584 08-07
72 이름으로 검색 14522 08-07
71 이름으로 검색 14455 08-07
70 이름으로 검색 14387 08-07
69 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 14271 09-11
68 이름으로 검색 14121 08-07
67 이름으로 검색 14005 08-07
66 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 13533 11-14
65 no_profile 차동박 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13483 06-30
64 no_profile 차동박 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13310 01-05
게시물 검색