웹마스터 팁

주소록을 만들면서 한번 만들어 보았습니다.
궁금해 하시는 분이 많으신거 같아서 한번 올려 봅니다.
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 입니다.
잘 응용해서 쓰십시오.
여기에 주민번호 허위판별 스크립트까지 넣어주면 더 좋겠죠?
제목 글쓴이 날짜
[PHP 동영상강좌] 16. for 반복문의 사용 [8] 서기 2005.11.24
[PHP 동영상강좌] 17. 배열변수의 사용 [9] 서기 2005.11.25
[PHP 동영상강의] 18. 파일의 생성과 사용 [9] 서기 2005.11.28
[PHP 동영상강의] 19. 파일을 이용한 메모장 만들기 #1 [10] 서기 2005.11.29
[PHP 동영상강좌] 20. 파일을 이용한 메모장 만들기 #2 [6] 서기 2005.12.07
[PHP 동영상강좌] 21. 파일을 이용한 메모장 만들기 #3 [3] 서기 2005.12.08
[PHP 동영상강좌] 22. 다른 사이트의 특정부위만 가져오기 [7] 서기 2005.12.08
[PHP 동영상강의] 23. 파일을 이용한 간단한 카운터 제작하기 [4] 서기 2005.12.12
[PHP 동영상강의] 24. 쿠키의 사용 [3] 서기 2005.12.13
[PHP 동영상강의] 25. 회원가입처리 / 로그인 구현 [6] 서기 2005.12.16
PHP 구문 5가지 표기 방식 [6] 이강민 2005.12.23
[PHP 동영상강의] 26. 쿠키의 시간제한 [2] 서기 2005.12.26
채널을 가장 쉽게 하는법 [17] 미오유 2006.01.02
[PHP 동영상강의] 27. 기본적인 환경변수들 [4] 서기 2006.01.03
[PHP 동영상강의] 28. SQL이란, phpmyadmin 설치방법 [5] 서기 2006.01.03
[PHP 동영상강의] 29. 테이블을 만들어보자! [5] 서기 2006.01.04
[PHP 동영상강의] 30. 테이블에 값을 추가해보자 [17] 서기 2006.01.04
[PHP 동영상강의] 31. DB에서 값을 가져와 출력하기 [15] 서기 2006.01.05
[PHP 동영상강의] 32. 자료의 정렬순서를 바꿔보자. [8] 서기 2006.01.11
[PHP 동영상강의] 33. 자료를 삭제해보자. [6] 서기 2006.01.12