<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>주민등록번호 확인 프로그램</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<script language="javascript">
error_msg=false;
function Checking() {
if(!JuminCheck(document.j_check.jnum_01.value, document.j_check.jnum_02.value)) {
alert("잘못된 주민등록번호입니다");
error_msg = true
}
else {
alert("확인된 주민등록번호입니다");
return !error_msg
}
}
function JuminCheck(jnum_01, jnum_02) {
check_jumin = false
//잘못된 생년월일을 검사합니다.
b_Year = (jnum_02.charAt(0)<="2")?"19":"20"
/*2000년부터 성구별 번호가 바뀌였슴으로 구별수가 2보다 작다면
1900년도 생이되고 2보다 크다면 2000년도 이상생이 됩니다.
단 1800년도 생은 계산에서 제외합니다. */
b_Year += jnum_01.substr(0,2)
//주민번호의 앞에서 2자리를 이어서 4자리의 생년을 저장합니다.
b_Month = jnum_01.substr(2,2)-1
//달을 구합니다.1을 뺀것은 자바스크립트에서는 1월을 0으로 표기하기 때문입니다.
b_Date = jnum_01.substr(4,2)
b_sum = new Date(b_Year, b_Month, b_Date)
if(b_sum.getYear()%100!=jnum_01.substr(0,2)||b_sum.getMonth()!=b_Month||b_sum.getDate()!=b_Date)
{
return check_jumin
//생년월일의 타당성을 검사하여 거짓이 있을시 에러메세지를 나타냄
}
total = 0
temp = new Array(13)
//주민등록번호를 배열로 넣기위해 지정합니다.
for(i=1;i<=6;i++)temp[i]=jnum_01.charAt(i-1)
//앞자리 6개의수를 배열에 대입합니다.
for(i=7;i<=13;i++)temp[i]=jnum_02.charAt(i-7)
//뒷자리 7개의 수를 배열에 대입합니다.
for(i=1;i<=12;i++) {
k=i+1
if(k>=10)k=k%10+2
/* 각수와 곱할 수를 뽑아냅니다.곱수가 만일 10보다 크거나 같다면
계산식에 의해 2로 다시 시작하게 됩니다. */
total=total+(temp[i]*k)
//각 자리수와 계산수를 곱한값을 변수 total에 누적합산시킵니다.
}
last_num=(11-(total%11))%10
//마지막 계산식을 변수 last_num 에 대입합니다.
if(last_num==temp[13])check_jumin=true
else check_jumin = false
//laster_num 이 주민번호의 마지막수와 같은면 참을 틀리면 거짓을 반환합니다.
return check_jumin
}
//앞 주민번호6자리를 누르면 자동으로 다음 칸으로 넘어가게합니다.
function check() {
var str = document.j_check.jnum_01.value.length;
if(str == 6)
document.j_check.jnum_02.focus();
}
</script>
</head>
<body bgcolor="#ffffff" text="#000000">
<form name="j_check" onSubmit="return Checking()">
<input type="text" name="jnum_01" size="6" OnKeyUp="check();" maxlength="6""/>-
<input type="text" name="jnum_02" size="7" maxlength="7"/><p>
<input type="submit" value="확인" name="B1"/>
</form>
<font size=2><b>주민등록번호</b>를 입력하시고 <b>확인</b>버튼을 눌러주세요.</font>
</body>
</html>
[출처] 주민등록번호 확인프로그램|작성자 도망자
댓글