HOME > 이용안내
이용안내
 
작성일 : 15-01-23 11:21
[스크립트언어] [PHP] php 함수, 외국인 등록번호 체크
 글쓴이 : 제이네트워크
조회 : 37,545  
정부기관에서 발표한 소스입니다.
 
<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

번호 제   목   글쓴이 날짜 조회
177 [윈도우서버] Windows2003서버로 파일 다운로드 기능시 문제 해결방법 관리자 2011-06-17 34193
176 [윈도우미디어] Windows 98에서 동영상이 실행되지 않습니다. 어떻게 하나요? 관리자 2008-12-08 34204
175 [리눅스서버] CentOS7 SSH 실행방법 정리 제이네트워크 2018-06-16 34229
174 [윈도우미디어] 동영상은 플레이 되는 것 같은데 화면이 검게 나오거나 줄이 생깁니다 관리자 2008-12-08 34327
173 [메뉴얼] naver, daum 사이트 검색정보 변경 메뉴얼 제이네트워크 2012-01-19 34333
172 [리눅스서버] [apache] 아파치 설치시 에러 no acceptable C compiler found in $PATH 제이네트워크 2013-08-19 34335
171 [윈도우미디어] 미디어 플레이어 9/10이 설치 되어 있습니다. 그런데 미디어 플레이어 6.4로 … 관리자 2008-12-08 34414
170 [리눅스서버] [Apache 서버활용]아파치서버 링크제한, 인증 및 활용 제이네트워크 2016-09-03 34416
169 [윈도우미디어] 윈도우XP에 미디어 플레이어 8버전입니다 업그레이드 방법은? 관리자 2008-12-08 34460
168 [DB] [MSSQL]SQL 서버 관리자가 알아야 할 11가지 유용한 팁 제이네트워크 2015-01-21 34583
167 [기타] 알아두면 유용한 윈도우 단축키들 관리자 2011-06-10 34631
166 [리눅스서버] SFTP 접속만 가능한 계정 만들기] 제이네트워크 2019-06-30 34654
165 [기타] xe 설치시 msg_safe_mode_ftp_needed 혹은 msg_ftp_mkdir_fail 제이네트워크 2013-07-28 34656
164 [리눅스서버] 리눅스 서버 - 아파치 폴더 패스워드 주기 관리자 2011-06-17 34676
163 [DB] phpMyAdmin 3.2.5 설치 및 mcrypt 오류 관리자 2011-06-17 34725
162 [도메인] 도메인 등록기관 이전하기1 제이네트워크 2012-05-23 34769
161 [기타] 샌드브리지 PC 조립하기 -동영상1- 관리자 2011-06-10 34782
160 [윈도우서버] 윈도우 2003 또는 IIS 6.0 이상일 경우 FLV 파일 관리자 2011-12-29 34787
159 [기타] 알아두면 유익한 기본적인 컴퓨터용어[2] 관리자 2011-06-10 34788
158 [기타] 샌디브릿지PC 조립하기2 -동영상- 관리자 2011-06-10 34789
157 [윈도우미디어] 미디어 플레이어9는 어떻게 삭제합니까? 관리자 2008-12-08 34790
156 [리눅스서버] 아파치재시작시 SSL 패스워드 자동입력 방법 (1) 제이네트워크 2013-08-05 34813
155 [윈도우미디어] 미디어플레이어 에서 지정한 프로토콜이 지원되지 않습니다. 제이네트워크 2011-05-16 34891
154 [기타] 한글명으로 된 파일이 다운로드 되지 않을 때 관리자 2011-07-26 34918
153 [리눅스서버] [LINUX]리눅스 한글관련 지원관련 문제 제이네트워크 2015-02-05 34921
152 [기타] 검색엔진이 좋아하는 메타태그 만들기 관리자 2011-06-17 34931
151 [리눅스서버] 리눅스 apache에서 동시 접속자 수 체크 제이네트워크 2018-03-30 34948
150 [윈도우서버] windows 2000서버 혹은 2003 서버 admin 패스 잃어버렸을때복구법 관리자 2011-06-17 35003
149 [윈도우서버] windows 2008 media server 방화벽 문제 관리자 2011-06-17 35036
148 [리눅스서버] [yum에러시] Another app is currently holding the yum lock; waiting for it to exit 제이네트워크 2013-07-23 35162
147 [윈도우서버] [윈도우업데이트]커멘드로 윈도우업데이트 실행 및 정지 제이네트워크 2013-12-19 35177
146 [리눅스서버] Apache / httpd 설치방법의 차이 (prefork, worker방식) 제이네트워크 2015-01-16 35207
145 [리눅스서버] 리눅스 지울파일 개수가 1024개 이상 초과 할때 /bin/rm: Argument list too long 제이네트워크 2013-03-06 35243
144 [리눅스서버] CENTOS7 에서 PHP-7.x 소스 설치시 mysqli , mysql , pdo-mysql 에러시 제이네트워크 2017-04-28 35278
143 [리눅스서버] 리눅스 서버에서 특수문자 폴더 파일 삭제 하기 관리자 2011-06-17 35280
142 [리눅스서버] 리눅스에서 대량 파일 삭제 이동시 사용 제이네트워크 2012-07-26 35286
141 [리눅스서버] 리눅스 설치 후 make 및 컨파일이 안될때.... 관리자 2011-10-11 35289
140 [DB] Excel to mysql (import /export) 엑셀데이타를 mysql로 입력하기 제이네트워크 2014-01-18 35293
139 [윈도우서버] [윈도우10 원격데스크톱 오류 CredSSP 암호화 Oracle 수정 때문] 제이네트워크 2018-06-21 35348
138 [리눅스서버] 리눅스 서버 ncftp 사용법 (1) 관리자 2011-06-17 35370
 1  2  3  4  5  6  7  8  9  10