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

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

QA

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

본문

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('잘못된 생년월일');
}

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

답변을 작성하시기 전에 로그인 해주세요.
전체 123,725 | RSS
QA 내용 검색

회원로그인

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