만 나이 계산 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

만 나이 계산 정보

만 나이 계산

본문

안녕하세요.
로그인도 안하고 맨날 눈팅만 했는데요
만 나이 계산하는게 따로 없어서
인터넷에 떠도는 걸로 해봤는데
좀 오류가 몇개 있어서 고쳐봤습니다.

주민번호 입력해서
만 20세 미만인지 아닌지 계산인데요.
생년이 2000년도 이후일때는
주민번호 뒷자리의 첫자리가 3이거나 4일때 2000을 빼고
1이거나 2일때는 1900으로 빼는걸로 했습니다
그리고 이런부분이
익스에서는 잘되는 계산이
크롬이나 파폭이나 오페라에서는 계산이 다르게 되는경우가 잇더라구요

그래서 이런저런 부분 고친 부분 입니다.


많이 부족하지만 같이 한번 봐주세요.
고칠부분있으시면 알려주세요..ㅇㅅㅇ 많이 부족한 실력입니다;;ㅎㅎ

감사합니다 ^^;;




//////////////////////////////////소스




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>주민번호로 만나이 구하기</title>
<script type="text/javascript">
<!--
 // 주민등록상 생일을 현재 날짜와 비교하여 나이계산 (만)
 // 8403211 일 경우 29세, 주민등록상 생일 지났으므로 28세 출력하도록
 function getAge() {
 
 
  if(document.form1.juminnum.value == "") {
  alert("첫번째칸 입력 하세요.");
  document.form1.juminnum.focus();
  return false;
  }
 
    if(document.form1.juminnum2.value == "") {
  alert("두번째칸 입력 하세요.");
  document.form1.juminnum.focus();
  return false;
  }
 
    if(document.form1.juminnum.value.length != 6) {
  alert("주민번호앞 6자리를 입력해주세요");
  document.form1.juminnum.focus();
  return false;
  }



 
  ssnNo = document.form1.juminnum.value;
 
  ssnNo2 = document.form1.juminnum2.value;
 
 
  var curDateObj = new Date(); // 날짜 Object 생성
  var tmpSSN = ssnNo; // 주민번호
  var curDate = ''; // 현재일자
  var tmpAge = 0; // 임시나이
  var y = curDateObj.getFullYear(); // 현재년도
  var m = curDateObj.getMonth() + 1; // 현재월
  if(m < 10) m = '0' + m; // 현재 월이 10보다 작을경우 '0' 문자 합한다
  var d = curDateObj.getDate(); // 현재일
  if(d < 10) d = '0' + d; // 현재 일이 10보다 작을경우 '0' 문자 합한다
  curDate = y + m + d;
 
  var genType = ssnNo2.substring(0, 1); // 주민번호 성별구분 문자 추출
 

if(parseInt(tmpSSN.substring(0, 2))<25 && genType < 3 ){

 alert("잘못입력");

  return false;

}


if(parseInt(tmpSSN.substring(0, 2))>25 && genType > 2 ){

 alert("잘못입력");

  return false;

}



  if(genType <= 2) {
  tmpAge = y - (1900 + parseInt(tmpSSN.substring(0, 2))); // 1, 2 일경우
  } else {
  tmpAge = y - (2000 + parseInt(tmpSSN.substring(0, 2))); // 그 외의 경우
  }


 
  var tmpBirthday = tmpSSN.substring(2, 6); // 주민번호 4자리 생일문자 추출
 
  if(curDate > (y + tmpBirthday)) {
  tmpAge += 1;
  }
  if(tmpAge.toString().length > 0) {
  tmpAge += '세';
  }
  alert(tmpAge); // 2012년 4월 13일 일 경우 2012413 반환
 
  if(parseInt(tmpAge)>19){
 
  alert ("성인")
 
  document.all.s.style.display = "block";
      document.all.m.style.display = "none";
 
 
  }else{
  alert ("미성년")
    document.all.m.style.display = "block";
      document.all.s.style.display = "none";

  }
 
 
 }

//-->
</script>
</head>

<body>
 <form name="form1">
  <table>
  <tr>
    <td>
    <input type="text" name="juminnum" size="7" maxlength="6">
    <input type="text" name="juminnum2" size="7" maxlength="7">
    <input type="button" value="만 나이구하기" onClick="getAge();">
    </td>
  </tr>
  </table>
 </form>
 
 
<div id="s"  style="display:none;">>성인인</div>

<div id="m"  style="display:none;">>미성년자</div>
 
 
</body>
</html>
추천
0

댓글 2개

전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT