HOME > 이용안내
이용안내
 
작성일 : 15-01-23 11:21
[스크립트언어] [PHP] php 함수, 외국인 등록번호 체크
 글쓴이 : 제이네트워크
조회 : 37,575  
정부기관에서 발표한 소스입니다.
 
<html>
 <head>
 <title>외국인등록번호 확인</title>
 <META HTTP-EQUIV='Content-type' ConTENT='text/html; CHARSET=euc-kr'>
 <script language=ⓙavascript>
 function check_no(form){
 var fgn_reg_no = document.fgn_check.fgn_reg_no1.value 
+ document.fgn_check.fgn_reg_no2.value;
 
        if (fgn_reg_no == ''){
                 alert('외국인등록번호를 입력하십시오.');
                 return false;
         }
 
        if (fgn_reg_no.length != 13) {
                 alert('외국인등록번호 자리수가 맞지 않습니다.');
                 return false;
         }
 if ((fgn_reg_no.charAt(6) == "5") || (fgn_reg_no.charAt(6) == "6"))
 {
 birthYear = "19";
 }
 else if ((fgn_reg_no.charAt(6) == "7") || (fgn_reg_no.charAt(6) == "8"))
 {
 birthYear = "20";
 }
 else if ((fgn_reg_no.charAt(6) == "9") || (fgn_reg_no.charAt(6) == "0"))
 {
 birthYear = "18";
 }
 else
 {
 alert("등록번호에 오류가 있습니다. 다시 확인하십시오.");
return false;
 } 

birthYear += fgn_reg_no.substr(0, 2);
 birthMonth = fgn_reg_no.substr(2, 2) - 1;
 birthDate = fgn_reg_no.substr(4, 2);
 birth = new Date(birthYear, birthMonth, birthDate);

 if ( birth.getYear() % 100 != fgn_reg_no.substr(0, 2) ||
 birth.getMonth() != birthMonth ||
 birth.getDate() != birthDate) {
 alert('생년월일에 오류가 있습니다. 다시 확인하십시오.');
return false;
 }
 form.submit();
         return true;
 }
 </script>
 </head>
 <boby>
 <form name='fgn_check' method=POST action='fgn_check.php'>
 외국인등록번호 <input type='text' name='fgn_reg_no1' size=6 maxlength=6> - <input type='text' name='fgn_reg_no2' size=7 maxlength=7>
 <input type='button' value='지금 검사' onClick='return form_check(form)'>
 </form>
 </body>
 </html>
 

--------------------------
 <?
if((strlen($fgn_reg_no1) == 6) && (strlen($fgn_reg_no2) == 7)) {
 $sum = 0;
 $odd = 0;
 $reg_no = $fgn_reg_no1."$fgn_reg_no2";

 for($i=0 ; $i < 13 ; $i++) {
         $reg_no[$i] = intval($reg_no[$i]);
 }

 $odd = $reg_no[7]*10 + $reg_no[8];
 
if ($odd % 2 != 0) {
 echo("<script language='ⓙavascript'>
 alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
history.back();
 </script>");
 }

 if (($reg_no[11] != 6)&&($reg_no[11] != 7)&&($reg_no[11] != 8)&&($reg_no[11] != 9)) {
 echo("<script language='ⓙavascript'>
 alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
history.back();
 </script>");
 }

 $sum = $reg_no[0]*2 + $reg_no[1]*3 + $reg_no[2]*4 + $reg_no[3]*5 + $reg_no[4]*6 + $reg_no[5]*7 
+ $reg_no[6]*8 + $reg_no[7]*9 + $reg_no[8]*2 + $reg_no[9]*3 + $reg_no[10]*4 + $reg_no[11]*5;
 $sum = $sum % 11;
 $sum1 = 11 - $sum;
 if($sum1 > 9) 
$sum1 = $sum1 % 10;

 $sum1 = $sum1 + 2; 

if($sum1 > 9) 
$sum1 = $sum1 % 10;

 $sum = $reg_no[12];

 if($sum == $sum1) {
 echo("<script language='ⓙavascript'>
 alert ('정상입니다.');
history.back();
 </script>");
 } else {
 echo("<script language='ⓙavascript'>
 alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
history.back();
 </script>");
 }

 } else {
 echo("<script language='ⓙavascript'>
 alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
history.back();
 </script>");
 }
 





Cloud server Streaming service Domain Cloud Firewall

 
 

Total 377

번호 제   목   글쓴이 날짜 조회
297 [기타] 리눅스 named(bind) 설정 점검 사이트 제이네트워크 2017-06-11 26246
296 [리눅스서버] [php soap 모듈 추가 설치] - php 확장 모듈 설치 제이네트워크 2017-05-25 42627
295 [리눅스서버] centos7 에서 서비스(Vsftp) 시작 명령어 관련 제이네트워크 2017-05-16 31076
294 [리눅스서버] CentOS 7에서 부팅시 /etc/rc.local 파일 실행 시키는 방법 제이네트워크 2017-05-16 32793
293 [기타] [에러]휴지통이 손상되었습니다. 라는 메시지와 함께 디스크접근이 안될 때 제이네트워크 2017-05-01 32891
292 [리눅스서버] Centos5.x yum install 에러시 CentOS-Base.repo 변경 제이네트워크 2017-05-01 33379
291 [리눅스서버] CENTOS7 에서 PHP-7.x 소스 설치시 mysqli , mysql , pdo-mysql 에러시 제이네트워크 2017-04-28 35306
290 [PHP] php-5.5.x 아래 버전에서 Zend Opcache 설치 제이네트워크 2017-04-27 24580
289 [PHP] php7에서 opcache 사용하기 제이네트워크 2017-04-27 25159
288 [리눅스서버] 리눅스에서 CPU 정보 및 CPU 코어개수, 물리 CPU 수를 확인하는 방법 제이네트워크 2017-04-27 30632
287 [리눅스서버] [Centos7.x 에서 vsftp접속문제] 500 OOPS:vsftpd:refusing to run with writable root inside chroo… 제이네트워크 2017-04-19 29589
286 [리눅스서버] [디스크 포맷에러] /dev/sdb1 is apparently in use by the system; will not make a filesystem he… 제이네트워크 2017-04-18 34036
285 [메일] [sendmail]센드메일 버전체크 하기 (리눅스서버에서) 제이네트워크 2017-04-04 30900
284 [리눅스서버] 리눅스 서버에서 하드디스크(SSD) 스펙 확인 하는 방법 제이네트워크 2017-03-21 34087
283 [리눅스서버] 리눅스서버에서 한글파일명 깨질때 (파일질라나 ftp로 한글깨짐) 제이네트워크 2017-03-16 49752
282 [DB] SQL Server Management Studio 설치 안될 때 제이네트워크 2017-02-28 36515
281 [DB] [Mysql] MYSQL-InnoDB-데이터-복구-방법 제이네트워크 2016-12-11 31730
280 [DB] [Mysql] mysql 엔진 Myisam 을 Innodb로 변경하는 방법 제이네트워크 2016-12-11 26499
279 [DB] [Mysql] mysql 기본 스토리지 엔진확인 제이네트워크 2016-12-10 25525
278 [DB] [Mysql] show processlist 계속 보기 제이네트워크 2016-12-10 25527
277 [리눅스서버] cband 설치 제이네트워크 2016-11-30 29398
276 [리눅스서버] [BIND - 네임서버 존파일에서 SRV 레코드 추가] 제이네트워크 2016-11-18 29809
275 [리눅스서버] [ 우분투정리 ubuntu ] 제이네트워크 2016-10-25 31394
274 [리눅스서버] [아파치서버]mod_url.so 모듈 추가 설치 (웹서버에서 한글링크 허용) 제이네트워크 2016-09-29 44161
273 [리눅스서버] [Apache 서버활용]아파치서버 링크제한, 인증 및 활용 제이네트워크 2016-09-03 34440
272 [윈도우서버] [iis 7.5] 한글도메인 입력 ( 값이 예상 범위를 벗어났습니다 ) 에러시 제이네트워크 2016-08-26 28728
271 [리눅스서버] [Apache 웹서버]apache2에서 geoip 적용하기 제이네트워크 2016-08-26 33456
270 [리눅스서버] [Apache 웹서버]서비스 제한측면의 아파치 활용 예제 제이네트워크 2016-08-26 36240
269 [리눅스서버] [Apache] worker 방식 접속자 튜닝방법 제이네트워크 2016-08-26 29558
268 [리눅스서버] pdo-mysql 추가 설치 방법 제이네트워크 2016-08-26 32229
267 [DB] [MS-SQL 쿼리] 해당 컬럼을 NULL 값으로 변경하고자 할때 제이네트워크 2016-08-23 26170
266 [메일] [아웃룩 outlook] 아웃룩 보낼편지함 삭제 안될 경우 해결법 제이네트워크 2016-08-02 29757
265 [리눅스서버] INIT: no more processes left in this runlevel 메세지 발생후 부팅에러 제이네트워크 2016-08-01 29590
264 [리눅스서버] vsftp 에러코드 중 500 OOPS: priv_sock_get_int 오류 발생시 해결법 제이네트워크 2016-07-31 36660
263 [스크립트언어] php 에러 메세지 출력하기 (php.ini 설정) 제이네트워크 2016-07-27 49440
262 [리눅스서버] 리눅스에서 공백이 포함된 디렉토리 처리 제이네트워크 2016-07-26 30923
261 [메일] 리눅스 sendmail 로 폼메일사용시 nobody@localhost.localhost.com 으로 발송될 경우 (1) 제이네트워크 2016-07-06 30293
260 [리눅스서버] [아파치SSL 에러] File size limit exceeded$HTTPD -DSSL 해결법 제이네트워크 2016-06-22 30258
259 [리눅스서버] CentOS 7.x vsftpd 자신의 홈디렉토리 상위폴더 접근막기 (2) 제이네트워크 2016-06-01 33069
258 [리눅스서버] Centos7.x 4TB 이상 하드디스크 추가 및 포맷하기 제이네트워크 2016-06-01 32426
 1  2  3  4  5  6  7  8  9  10