웹마스터 팁

주소록을 만들면서 한번 만들어 보았습니다.
궁금해 하시는 분이 많으신거 같아서 한번 올려 봅니다.
php로 하면 궂이 이런방법을 쓰지 않고도 할 수는 있지만
자바스크립트로도 할 수 있는 방법을 한번 알아 봅시다.

소스설명
<script>

//주민번호 첫번째 입력값의 범위가 6이 되면 자동으로 두번째로 포커스가 이동합니다.
function check_jumin(form) {
        if(ipt.jumin1.value.length > 5) {
                ipt.jumin2.focus();
        }
}


//주민번호 두번째 입력값의 범위가 7이 되면 자동으로 submit로 포커스가 이동합니다.
function check_jumin2(form) {
        if(ipt.jumin2.value.length > 6) {
                ipt.submit.focus();
        }
}


//birth라는 변수에 주민번호 첫번째 입력폼의 값을 저장시킨후에 substring(,)이라는 함수로 값을 판별하여 해당폼에 값을 넣어줍니다.
function check_birth() {
        var birth = document.ipt.jumin1.value; //변수로 값저장
        
        
        if (birth.substring(0,2) > 03)  //만약 첫번째가 03보다 크다면
                //(현재 2003년이기 때문에 2000~2003년 출생자들은 2000~2003년으로 생일이 입력됩니다. 04 이상이라면 1904이후로 입력됩니다.)
                document.ipt.birth_y.value = "19"+birth.substring(0,2);
        else  //아니라면 앞에 20을 붙여 2000년 이후 출생자로
                document.ipt.birth_y.value = "20"+birth.substring(0,2);
                
        if (birth.substring(2,3) == "0") //여기는 03 같이 한자리수달에 태어난 사람들은 자동으로 0을 때어 입력하게 하는 겁니다.
                document.ipt.birth_m.value = birth.substring(3,4);
        else
                document.ipt.birth_m.value = birth.substring(2,4);        
        
        if (birth.substring(4,5) == "0")
                document.ipt.birth_d.value = birth.substring(5,6);  
        else
                document.ipt.birth_d.value = birth.substring(4,6);              
}


//주민 번호 뒷자리에서 첫번째 숫자를 판별하여 라디오버튼에 입력을 하게 합니다. 2000년 이후 출생자들은 3,4 가 붙기때문에 그것까지 고려를 했습니다. 라디오 버튼특성상 여러 버튼들은 배열로 구분합니다. click()메소드는 라디오버튼을 클릭한것과 같습니다.  
function check_sex(){
        var chs = document.ipt.jumin2.value.substring(0,1);
        if (chs == "1" || chs == "3") ipt.sex[0].click();
        else if (chs == "2" || chs == "4") ipt.sex[1].click();
}


</script>

<form method=post action='' name=ipt>
<input type=text name=jumin1 size=6 maxlength=6 onkeyup='check_jumin(this.form)' onBlur='check_birth();'>
 - 
<input type=text name=jumin2 size=7 maxlength=7 onkeyup='check_jumin2(this.form)' onBlur='check_sex();'>

<BR>
<input type=text name=birth_y size=4 maxlength=4 readonly> 년  
<input type=text name=birth_m size=2 maxlength=2 readonly> 월  
<input type=text name=birth_d size=2 maxlength=2 readonly> 일

<BR>
<input type=radio name=sex size=4 maxlength=4 value=m>남
<input type=radio name=sex size=4 maxlength=4 value=f>여

<BR>
<input type=submit value='입   력' name=submit>
</form>

미리보기는 http://myhome.hanafos.com/~jugug/jumins.html 입니다.
잘 응용해서 쓰십시오.
여기에 주민번호 허위판별 스크립트까지 넣어주면 더 좋겠죠?
제목 글쓴이 날짜
APM에서 XE 설치시 깨짐현상 발생될때... file 비밀M 2013.05.14
파일박스 사용에 관하여 [2] wooildang 2013.04.26
이미지 리사이즈 적용이 안되는 경우 [4] 아고라 2009.06.30
[수정] CSS, JS 파일 gzip로 한꺼번에 압축해서 전송하기 [20] file SCAC 2011.09.02
모바일에서 댓글 자동 펼치기 (스킨:스케치북5모바일) [2] 준스타일 2013.05.03
array 함수와 in_array함수 이용한 시간 체크 똑디 2013.05.03
상담용 게시판 - 확장 변수 이용 [4] file 어라얼랑 2012.06.23
XE를 위한 DEBUG 이야기 [3] 우진홈 2013.04.30
xe 속도 엄청 빨라집니다. [4] 투투투쓰리 2013.03.12
최근게시물에 움직이는 GIF 불러오기 SuP 2013.04.25
개인서버나 호스팅운영하실분들 참고하세요 [6] 데브위트™ 2012.06.19
간단한 PHP 문법 [204] zero 2000.03.06
XE 1.5.X , 1.7.X 용 nginx rewrite [4] Root 2013.03.24
메뉴에 새글 표시 모듈이 작동하지 않은 문제 해결 [2] 샹하이 2013.04.15
meta_add 애드온 수정.(1.7.3 버전에 맞게..) [4] file 투씨 2013.04.01
메인화면에 플래시 쉽게 삽입하는 방법.. [12] 청개구리00 2008.08.30
스팸공동대응 api 모듈 지우기 [1] SCAC 2012.08.12
xe1.7.3.1 으로의 업데이트시 팝업모듈 오류 수정내역 [1] 날마다좋은날 2013.04.12
제로보드 xe 게시판 가로 푹 줄이기 방법좀 알려주세요. [1] 산업일꾼 2013.04.14
아이콘샵(v0.4) 관리자페이지 디자인수정파일(1.7.x 용) file 카이네드 2013.04.13