Top

[Javascrip] 주민등록번호 예외처리 | Web-Programing
김경훈 (admin) | Editor | 2011/12/09 10:00:25 | 조회:4883

 정규표현식의 달인 기원씨가 만든 " 주민등록번호 예외처리 자바스크립트 "
실명인증까지는 안되도 장난 입력은 절때 안된다고 함.
하지만 운좋게 안걸릴 수 있다고 하니.. 참고 하세요~~
 

  1. function jumin_check()
  2. {
  3. //주민번호 예외처리
  4. if(idno.value.length == 13 || idno.value.length == 14)
  5. { 
  6. if(idno.value.length == 14)
  7. { 
  8. var chkidno = /[0-9]{6}-[0-9]{7}/;
  9. if(chkidno.test(idno.value))
  10. { 
  11. idno.value = idno.value.replace(/-/g,'');
  12. } 
  13.  else
  14.  {
  15.   alert('올바른 주민등록 번호를 입력 해 주세요.');
  16.   return;
  17.  }
  18.  
  19. }
  20. //생년월일 검사
  21. var birthYear = (idno.value.charAt(6) <= "2") ? "19" : "20";
  22. birthYear += idno.value.substr(0, 2);
  23.   var birthMonth = idno.value.substr(2, 2) - 1;
  24.   var birthDate = idno.value.substr(4, 2);
  25.   var birth = new Date(birthYear, birthMonth, birthDate);
  26.  
  27.   if ( birth.getYear() % 100 != idno.value.substr(0, 2) ||
  28.       birth.getMonth() != birthMonth ||
  29.         birth.getDate() != birthDate) 
  30.         {
  31.       alert('올바른 주민등록 번호를 입력 해 주세요.');
  32.   return;
  33.   }
  34.   //주민번호 유효성 검 사
  35. var buf = new Array(13);
  36.   for (var i = 0; i < 13; i++) buf[i] = parseInt(idno.value.charAt(i));
  37.  
  38.   multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
  39.   for (var sum = 0, i = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);
  40.  
  41.   if ((11 - (sum % 11)) % 10 != buf[12]) 
  42.   {
  43.   alert('올바른 주민등록 번호를 입력 해 주세요.');
  44.       return;
  45.   }
  46. }
  47. else
  48. {
  49. alert('올바른 주민등록 번호를 입력 해 주세요.');
  50. }
  51. }




출처 :  기원씨 뇌.
공유하기
공유하기
0
0
0


댓글을 불러오는 중입니다.
▲ 이전글 연구소 생일 파티~☆ 김경훈 (admin) 2011-12-08 21:06:09
▼ 다음글 [Javascript] 마우스 드레그로 이미지 크기 조절. 김경훈 (admin) 2011-12-07 09:17:28