스크립트
< 자료공유 < 스크립트
스크립트자료실

주민등록검사

페이지 정보

작성일13-02-06 15:48 조회1,856회

본문

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euc_kr">
<title>주민등록검사</title>
<head>
<script language="javascript">
function chkresno(resno) {
// 주민번호의 형태와 7번째 자리(성별) 유효성 검사
fmt = /^\d{6}-[1234]\d{6}$/;
if (!fmt.test(resno)) {
alert("잘못된 주민등록번호입니다."); return;
}
// 날짜 유효성 검사
birthYear = (resno.charAt(7) <= "2") ? "19" : "20";
birthYear += resno.substr(0, 2);
birthMonth = resno.substr(2, 2) - 1;
birthDate = resno.substr(4, 2);
birth = new Date(birthYear, birthMonth, birthDate);
if ( birth.getYear() % 100 != resno.substr(0, 2) ||
birth.getMonth() != birthMonth ||
birth.getDate() != birthDate) {
alert("잘못된 주민등록번호입니다."); return;
}
// Check Sum 코드의 유효성 검사
buf = new Array(13);
for (i = 0; i < 6; i++) buf[i] = parseInt(resno.charAt(i));
for (i = 6; i < 13; i++) buf[i] = parseInt(resno.charAt(i + 1));
multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);
if ((11 - (sum % 11)) % 10 != buf[12]) {
alert("잘못된 주민등록번호입니다."); return;
}
alert("정상적인 주민등록번호입니다.");
}
</script>
</head>
<body>
<h1>주민등록번호 검사 - 를 포함합니다.(예:721014-xxxxxxx)</h1>
<form onSubmit="chkresno(this.resno.value);return false">
주민등록번호 <input type="text" name="resno">
<input type="submit" value="지금 검사">
</form>
</body>
</html>
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기