주민등록번호 체크 스크립트

|

매번 찾기도 귀찮고...해서.. 하나 맹글었음....

(Language : javascript)
  1. function checkJumin(jumin1, jumin2) {
  2. /*
  3. * 주민번호체크 스크립트
  4. * 리턴값
  5. * 1 : 정상 주민등록번호
  6. * 0 : 비정상 주민등록번호
  7. * -1 : 입력인수 숫자 아님
  8. * -2 : 입력인수 길이 맞지 않음
  9. * -3 : 입력인수 1~4값 아님
  10. * -4 : 입력인수 정상적인 생년월일 아님
  11. * -5 : 입력인수의 날짜가 오늘(시스템날짜)보다 이후
  12. *
  13. * by Hy054nz
  14. */
  15.  var i, tmp, y, m, d, sum = 0;
  16.  var date, now = new Date();
  17.  var numArr = new Array(13);
  18.  var mulNum = new Array(2,3,4,5,6,7,8,9,2,3,4,5);
  19.  if(isFinite(jumin1) && isFinite(jumin2)) {
  20.   if(jumin1.length == 6 && jumin2.length == 7) {
  21.    for(i=0;i<6;i++) numArr[i] = parseInt(jumin1.charAt(i));
  22.    for(i=0;i<7;i++) numArr[6+i] = parseInt(jumin2.charAt(i));
  23.    if((numArr[6] > 0) && (numArr[6] < 5) ) {
  24.     y = numArr[0]*10+numArr[1];
  25.     m = numArr[2]*10+numArr[3];
  26.     d = numArr[4]*10+numArr[5];
  27.  
  28.     y += (numArr[6] < 3) ? 1900 : 2000;
  29.    
  30.     date = new Date(y, m-1, d);
  31.     if((date.getYear()%100 == y%100) && (date.getMonth() == m-1) && (date.getDate() == d)) {
  32.      if(date.getTime() < now.getTime()) {
  33.       for(i=0;i<12;i++) sum += numArr[i]*mulNum[i];
  34.       tmp = sum%11;
  35.  
  36.       if(tmp == 0) tmp = 10;
  37.       else if(tmp == 1) tmp = 11;
  38.      
  39.       if((11-tmp) == numArr[12]) return 1;
  40.       else return 0;
  41.      } else return -5;
  42.     } else return -4;
  43.    } else return -3;
  44.   } else return -2;
  45.  } else return -1;
  46. }
  47.  
  48.  



 

물론, 아시겠지만,

이건 실명확인을 해주는게 아니라 주민등록번호가 형식에 맞는지만 체크해주는겁니다.

진짜 주민등록번호가 맞는지 확인하시려면 실명인증 서비스를 사용하셔야...(물론 유료겠죠?)

'Knowledge > WebProgramming' 카테고리의 다른 글

ASP API  (0) 2008.08.14
IE Developer Toolbar  (0) 2008.03.06
톰캣 환경설정  (0) 2007.09.27
자바 이미지 리사이즈(썸네일)  (0) 2007.09.18
Flash로 파일업로드하기  (0) 2007.05.25
And