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

번호 제   목   글쓴이 날짜 조회
265 [윈도우미디어] 미디어 플레이어가 wvc1코덱에러로 실행이 안될때 관리자 2011-06-27 46437
264 [기타] RAID란 무엇인가? 관리자 2011-06-17 46434
263 [윈도우서버] ERR_TOO_MANY_REDIRECTS 해결방법 제이네트워크 2019-03-30 46422
262 [리눅스서버] 리눅스에서 주기적인 작업 시 crontab(클론탭) 사용법 (1) 제이네트워크 2013-10-21 46241
261 [기타] 제로보드 자동글 등록 방지 코드(링크참조) 관리자 2011-05-16 46219
260 [리눅스서버] php 5.3.x 버전이면 ZendGuardLoader 를 설치하셔야 합니다 제이네트워크 2013-08-19 46200
259 [리눅스서버] [NFS에러] NFS에서 에러 메세지 Stale NFS file handle 발생하는 경우 제이네트워크 2017-07-28 46178
258 [리눅스서버] [에러메세지]ext3_dx_add_entry:Director index Full - 파일갯수가 너무 많을 때 제이네트워크 2012-07-20 46117
257 [리눅스서버] CentOS7 SSH 실행방법 정리 제이네트워크 2018-06-16 46113
256 [리눅스서버] [리눅스서버] /etc/profile 파일 변경 갑자기 root 로그인이 안될 때 제이네트워크 2013-07-26 46078
255 [DB] mysql 설치시 exec: g++: not found 에러 관리자 2011-10-11 46042
254 [윈도우미디어] 미디어 플레이어11(비스타)을 사용할 경우 방송이 안보일 때 관리자 2008-12-08 46023
253 [스크립트언어] php-4.x.x 의경우 phpize 사용하여 curl 모듈 추가] 제이네트워크 2015-11-24 45937
252 [메뉴얼] 알GIF 사용법 매뉴얼(홈페이지 메인이미지 변경시) 제이네트워크 2012-01-20 45880
251 [리눅스서버] [openssl]php에 openssl 추가모듈 설치하기 제이네트워크 2017-08-30 45798
250 [리눅스서버] SFTP 퍼미션 조정 및 chroot 설정으로 상위폴더 접근 제한하기 제이네트워크 2019-06-30 45798
249 [리눅스서버] [apache] 에러 (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "컴… 제이네트워크 2013-08-19 45636
248 [윈도우서버] windows 2003 서버에서 한글 파일 다운 안될때 관리자 2011-06-17 45601
247 [윈도우서버] [IIS7.X 백업] IIS7.X 설정 자동 백업 방법 제이네트워크 2014-12-09 45585
246 [리눅스서버] 리눅스 centos5.x + 삼바 설치 관리자 2011-06-17 45581
245 [리눅스서버] [Apache 웹서버]서비스 제한측면의 아파치 활용 예제 제이네트워크 2016-08-26 45566
244 [윈도우서버] Windows Server 2008 터미널 2명이상 사용하기 관리자 2011-06-17 45437
243 [리눅스서버] [Apache 서버활용]아파치서버 링크제한, 인증 및 활용 제이네트워크 2016-09-03 45408
242 [윈도우미디어] 미디어플레이어 재설치시 - 다운로드 링크 관리자 2011-05-16 45326
241 [윈도우미디어] 윈도우 미디어서버 HTTP푸시 요청 에러 혹은 iis 에러 (0xC00D2F0C) 제이네트워크 2012-07-09 45322
240 [리눅스서버] CENTOS7 에서 PHP-7.x 소스 설치시 mysqli , mysql , pdo-mysql 에러시 제이네트워크 2017-04-28 45305
239 [리눅스서버] [아파치conf 비교]apache2.2.x 와 apache-2.4.x 의 차이점 제이네트워크 2019-10-13 45240
238 [리눅스서버] 리눅스 서버 시간 맞추기 rdate 제이네트워크 2011-06-17 45214
237 [리눅스서버] mod security 설치시 로그 안쌓이고 아파치에러로그 나올때 관리자 2011-06-17 45208
236 [리눅스서버] named 2차 네임서버로 zone transfer 권한 문제 제이네트워크 2018-04-13 45196
235 [윈도우서버] IIS7.x / IIS8.x 에서 asp 호스팅시 "Response 버퍼 제한 초과됨 " 오류 제이네트워크 2015-05-11 45078
234 [플래시미디어] 플레쉬 플레이어의 장점 관리자 2008-12-09 45062
233 [DB] [MSSQL]SQL 서버 관리자가 알아야 할 11가지 유용한 팁 제이네트워크 2015-01-21 44913
232 [윈도우미디어] 플레이를 하면 '닫기'로 뜹니다. 미디어 플레이어 재설치나 업그레… 관리자 2008-12-08 44811
231 [윈도우서버] 윈도우에서 오픈포트 확인 및 프로세스 죽이기 제이네트워크 2013-05-11 44801
230 [DB] Excel to mysql (import /export) 엑셀데이타를 mysql로 입력하기 제이네트워크 2014-01-18 44586
229 [리눅스서버] [Linux] Centos 에서 yum 을 이용하여 rpm 다운로드방법과 rpm 패키지 설치 및 삭… 제이네트워크 2015-01-23 44519
228 [기타] 검색엔진이 좋아하는 메타태그 만들기 관리자 2011-06-17 44509
227 [윈도우서버] Windows Server 2012R2 (윈도우2012 R2) IIS8.5 서버 FTP 가상디렉토리 설정 제이네트워크 2016-03-25 44497
226 [윈도우서버] 윈도우 2003 또는 IIS 6.0 이상일 경우 FLV 파일 관리자 2011-12-29 44417
 1  2  3  4  5  6  7  8  9  10