웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
주민등록번호를 받아 자동으로 폼에 생일, 성별 체크해주기
2003.03.06 10:54
주소록을 만들면서 한번 만들어 보았습니다.
궁금해 하시는 분이 많으신거 같아서 한번 올려 봅니다.
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로 하면 궂이 이런방법을 쓰지 않고도 할 수는 있지만
자바스크립트로도 할 수 있는 방법을 한번 알아 봅시다.
소스설명
<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 입니다.
잘 응용해서 쓰십시오.
여기에 주민번호 허위판별 스크립트까지 넣어주면 더 좋겠죠?
댓글 4
-
[포터]아렌티
2003.03.06 11:29
-
[포터]아렌티
2003.03.06 23:40
jugug // 제뜻은요 ㅠ_ㅠ;;
뒤에 처음글짜가 3이나 4이었을때는 생일에서 20**로 나오게 그러니까..바로 보이게 해달라는거죠 ㅠ_ㅠ;;
확인을 눌렀을때 바뀌면-ㅁ-;;;;;
좀 어떡해 안될까요? -
jugug
2003.03.06 20:25
그런거라면 submit를했을때 검사하는 스크립을 넣으시면 해결 될겁니다.
대충
function check_submit(){
if (document.ipt.jumin2.value.substring(0,1) == 1){
if(document.ipt.jumin1.value.substring(0,1) < 03){
alert("잘못된 주민번호입니다..");
return false;
}
}
else if...
.
.
.
.
}
해주시고 폼태그엔 onsubmit="return check_submit();" 이것을 추가시켜주면 되겠죠 -
jugug
2003.03.08 10:37
if (document.ipt.jumin2.value.substring(0,1) == 01 || document.ipt.jumin2.value.substring(0,1) == 02) document.ipt.birth_y.value = "19"+document.ipt.jumin1.value.substring(0,2);
..
..
이것을 check_sex()에 넣으시면 될거 같은데요..
제목 | 글쓴이 | 날짜 |
---|---|---|
주민등록번호를 받아 자동으로 폼에 생일, 성별 체크해주기 [4] | jugug | 2003.03.06 |
자바스크립트로 만든 로또추첨기~ ^^ | 행복한고니 | 2003.03.05 |
다음 로그인 폼 입니다... 로그인후 원하는 곳으로!! [3] | 정성교 | 2003.03.05 |
허접하나마... 플래쉬와 동영상 받는 소스... [2] | 꽃ちゃん | 2003.03.04 |
자바스크립트로 쪼물딱 거리는 배경 이미지 [3] | 미친개 | 2003.03.02 |
즐겨찾기 추가하기 [3] | 라엘 | 2003.03.01 |
슬라이딩 Layer ( 옆에 메뉴 보이시죠, 비슷꾸리한거 ) [8] | 이남두 | 2003.02.26 |
두군데 IFRAME 위치에 내용 동시출력하기-프레임에도 가능 [4] | 깜보 | 2003.02.22 |
MS홈에 쓰이는 오른쪽메뉴 툴바 [13] | Kortion | 2003.02.22 |
개판 오분전 이미지 슬라이더 [5] | 미친개 | 2003.02.20 |
통합 검색엔진 소스입니다. [5] | 철혈단 | 2003.02.19 |
폰트 크기를 방문자가 자유자재로 바꾸도록.. | 깜보 | 2003.02.19 |
개판 오분전 select menu......... [10] | 미친개 | 2003.02.18 |
[수정 및 추가 설명] 음악 듣기 소스 [4] | 당근당근 | 2003.02.17 |
페이지 로딩중 효과 [7] | 깜보 | 2003.02.16 |
[수정판] 갤러리 이미지 드레그 이동 가능한 필터 사용 스르륵 버젼 ^^ [10] | 모라미 | 2003.02.15 |
요청해오신 레이어 무조건 중앙에 열리기 와 클릭하는 곳에 열리기 두가지 소스입니다. [4] | 모라미 | 2003.02.25 |
레이어를 이용한 초간단 갤러리를 만들어봅시다. [6] | 모라미 | 2003.02.15 |
흐르는 내용 강좌 [4] | 라엘 | 2003.02.10 |
[허뎝이즈]간단한 테트리스 만들어 보기^_^[허뎝이 수정했음돠] [11] | 허졉이즈 | 2003.02.06 |
추가 되었으면 하는건;;
뒷자리수 첫번째가 3,4면 생년월일이 2000년도 아닌가요 -_-?
그런데 뒤에 3,4하면 그래도 생년월일에서 19**도로 치니;;
좀 어케 해주세요 ㅠ_ㅠ