Knowledge/WebProgramming 주민등록번호 체크 스크립트 고추장불고기 2007. 10. 24. 11:28 매번 찾기도 귀찮고...해서.. 하나 맹글었음.... (Language : javascript) function checkJumin(jumin1, jumin2) { /* * 주민번호체크 스크립트 * 리턴값 * 1 : 정상 주민등록번호 * 0 : 비정상 주민등록번호 * -1 : 입력인수 숫자 아님 * -2 : 입력인수 길이 맞지 않음 * -3 : 입력인수 1~4값 아님 * -4 : 입력인수 정상적인 생년월일 아님 * -5 : 입력인수의 날짜가 오늘(시스템날짜)보다 이후 * * by Hy054nz */ var i, tmp, y, m, d, sum = 0; var date, now = new Date(); var numArr = new Array(13); var mulNum = new Array(2,3,4,5,6,7,8,9,2,3,4,5); if(isFinite(jumin1) && isFinite(jumin2)) { if(jumin1.length == 6 && jumin2.length == 7) { for(i=0;i<6;i++) numArr[i] = parseInt(jumin1.charAt(i)); for(i=0;i<7;i++) numArr[6+i] = parseInt(jumin2.charAt(i)); if((numArr[6] > 0) && (numArr[6] < 5) ) { y = numArr[0]*10+numArr[1]; m = numArr[2]*10+numArr[3]; d = numArr[4]*10+numArr[5]; y += (numArr[6] < 3) ? 1900 : 2000; date = new Date(y, m-1, d); if((date.getYear()%100 == y%100) && (date.getMonth() == m-1) && (date.getDate() == d)) { if(date.getTime() < now.getTime()) { for(i=0;i<12;i++) sum += numArr[i]*mulNum[i]; tmp = sum%11; if(tmp == 0) tmp = 10; else if(tmp == 1) tmp = 11; if((11-tmp) == numArr[12]) return 1; else return 0; } else return -5; } else return -4; } else return -3; } else return -2; } else return -1; } 물론, 아시겠지만, 이건 실명확인을 해주는게 아니라 주민등록번호가 형식에 맞는지만 체크해주는겁니다. 진짜 주민등록번호가 맞는지 확인하시려면 실명인증 서비스를 사용하셔야...(물론 유료겠죠?)