생년월일 입력받기!!! 문의드립니다^^:

생년월일 입력받기!!! 문의드립니다^^:

QA

생년월일 입력받기!!! 문의드립니다^^:

답변 4

본문

input 박스로 생년월을 받고 있는데요..

주민번호 앞자리 761212 이렇게 입력해야하는데 197612 이렇게 입력하시는분이 있네요

예제까지 딱 적어놨는데..  ㅡㅢ 보지를 않나봐요...

혹시 제어문이 있을가요???

이 질문에 댓글 쓰기 :

답변 4

스크립트에서 주민번호 유효성 검사하는거 있을텐데..

혹시 몰라 올려둡니다.

 

function fn_chkJuminNum(jumin1, jumin2) { // ex_ 123456 - 1234567

    // 정규식표현 (숫자만 입력가능)
    if ( jumin1.match('[^0-9]') ) {
        alert("주민등록번호는 숫자만 입력해주세요.");
        return false;
    }
    
    if ( jumin1.length != 6 ) {
        alert("생년월일은 YYMMDD 형식의 6자리로 입력해주세요.");
    }

    const keyArr = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];  // 인증키 고정
    let step1 = 0;
   
    for ( int i = 0; i < jumin1.length; i++ ) {
        step1 += parseInt( jumin1.substring( i, i+1 ), 10 ) * keyArr[ i ];
    }

    for ( int j = jumin1.length; j < ( jumin.length + jumin2.length ) - 1; j++ ) {
        step1 += parseInt( jumin2.substring( j, j+1 ), 10 ) * keyArr[ j ];
    }

    const step2 = parseInt( jumin2.substring( 6, 7 ), 10 );
    const step3 = (11 - ( step1 % 11 ) ) % 10;

    if ( step 2 != step3 ) {
        alert("유효하지 않은 주민등록번호입니다.");
        $("#jumin1").val('');
        $("#jumin1").focus();

        return false;
    }
}

를 사용하시면 되지 않을까요?


var birth = '761304';
var birth1 = parseInt(birth.substring(0, 2));
var birth2 = parseInt(birth.substring(2, 4));
var birth3 = parseInt(birth.substring(4, 6));
if(birth1 == 19 || birth1 == 20 || birth2 > 12 || birth3 > 31) {
    console.log('잘못된 생년월일');
}

간단하게 해봤는데, 검증은 안했습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 12
© SIRSOFT
현재 페이지 제일 처음으로