반응형

PHP 프로그램에서 주민등록번호 유효성을 체크하는 함수입니다.

프론트 앤드가 아닌 서버 사이드에서 체크가 필요할 경우에 사용합니다.

정규식, checkdate, checksum을 활용하여 작성되었습니다.

function resnoCheck($resno1, $resno2) {
  $resno = $resno1 . $resno2;
  $isResnoCheck = true;

  // 형태 검사: 총 13자리의 숫자, 7번째는 1..4의 값을 가짐
  if (!ereg('^[[:digit:]]{6}[1-4][[:digit:]]{6}$', $resno)) {
    $isResnoCheck = 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)) {
    $isResnoCheck = 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]) {
    $isResnoCheck = false;
  }

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

PHP 주민등록번호 유효성 체크 함수

2019/12/25 - [유용한 활용팁] - PHP로 HTML 태그를 사용하여 PDF 파일 생성 및 다운로드 받기 처리 - TCPDF

 

PHP로 HTML 태그를 사용하여 PDF 파일 생성 및 다운로드 받기 처리 - TCPDF

TCPDF를 이용하여 HTML 태그를 PHP로 PDF 파일 생성하여 다운로드 받기 처리하는 방법입니다. TCPDF 검색, 다운로드, 설치 - 검색 사이트에서 "tcpdf download"로 검색을 한 후 github에서 클론으로 다운을 받습니..

han288.tistory.com

2019/12/14 - [유용한 활용팁] - PHP MySQL Bulk Insert 방식으로 대량 INSERT 처리하기

 

PHP MySQL Bulk Insert 방식으로 대량 INSERT 처리하기

PHP에서 MySQL에 Bulk Insert 방식으로 대량 INSERT 처리하는 방법입니다. 여러 행을 반복문을 돌면서 MySQL에 Connection을 하여 실행을 하게 되면 성능 저하가 발생하게 됩니다. 일반적으로는 INSERT ~ SELECT..

han288.tistory.com

2019/12/08 - [유용한 활용팁] - PHP 문자 암호화하여 Form 전송하기 - mcrypt_encrypt, mcrypt_decrypt, bin2hex, pack

 

PHP 문자 암호화하여 Form 전송하기 - mcrypt_encrypt, mcrypt_decrypt, bin2hex, pack

데이터가 길거나 JSON 형태의 데이터를 FORM으로 전송을 하면 의도하지 않게 데이터가 왜곡 되는 경우가 있습니다. 이 경우 URL ENCODING을 이용하여 처리를 하기도 합니다. 하지만 이렇게 하더라도 데이터 처리간..

han288.tistory.com

2019/12/06 - [유용한 활용팁] - PHP 마지막 문자 콤마(,) 제거 방법 - substr, rtrim, trim, implode

 

PHP 마지막 문자 콤마(,) 제거 방법 - substr, rtrim, trim, implode

PHP에서 마지막에 있는 문자 콤마(,)를 제거(삭제)하는 방법입니다. 1. substr를 이용하는 방법 $str = substr($str, 0, -1); $str = "1,2,3,4,"; $str = substr($str, 0, -1); echo $str; // result // 1,2,3,4 2..

han288.tistory.com

2019/11/17 - [유용한 활용팁] - PHP 2차원 Array에서 unset후 배열 index 재 정렬 방법

 

PHP 2차원 Array에서 unset후 배열 index 재 정렬 방법

PHP에서 2차원(다차원) Array(배열)에 있는 값을 UNSET을 이용하여 삭제 후 array_values을 이용하여 배열의 인덱스를 재 정렬하는 방법입니다. 1. 2차원 배열을 for 반복문을 돌리면서 in_array를 이용하여 원하..

han288.tistory.com

2019/10/22 - [유용한 활용팁] - PHP Form 데이터 POST, GET 전송시 역슬래쉬(\) 자동 추가 현상 해결 방안 - get_magic_quotes_gpc(), stripslashes

 

PHP Form 데이터 POST, GET 전송시 역슬래쉬(\) 자동 추가 현상 해결 방안 - get_magic_quotes_gpc(), stripslashes

PHP에서 Form의 데이터를 POST 또는 GET 방식으로 전송 시 데이터에 원하지 않게 역슬래시(\)가 들어가는 경우가 있습니다. 데이터베이스에 저장시 '(작은 따옴표)가 들어가서 문제가 생기는 것을 방지하기 위해 P..

han288.tistory.com

 

반응형

+ Recent posts