[php] 주민등록번호 검사(체크) > PHP Tip

본문 바로가기
사이트 내 전체검색

PHP Tip

[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 75건 1 페이지
PHP Tip 목록
번호 제목 글쓴이 조회 날짜
75 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 848 10-27
74 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 33291 12-10
73 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 6535 12-10
72 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 5606 08-08
71 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 7270 05-18
70 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 2624 05-18
69 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 4461 01-31
68 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 5208 01-12
67 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3269 11-09
66 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 5919 08-22
열람중 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 14358 08-22
64 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 8206 05-19
63 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 40373 11-03
62 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 4555 08-31
61 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 4234 08-17
60 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 4637 08-11

검색

회원로그인

회원가입

사이트 정보

컴퓨터 정보,윈도우즈,리눅스,포토샵,3ds
맥스,프로그래밍 강좌팁

접속자집계

오늘
169
어제
724
최대
5,287
전체
637,168
Copyright © www.qdata.co.kr All rights reserved.