테스트 사이트 - 개발 중인 베타 버전입니다

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

다둥이아빠 2년 전 조회 1,996

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

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

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
toqurk
2년 전

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

혹시 몰라 올려둡니다.

 

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;
    }
}

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

</p>

<p>var birth = '761304';

var birth1 = parseInt(birth.substring(0, 2));

var birth2 = parseInt(birth.substring(2, 4));

var birth3 = parseInt(birth.substring(4, 6));</p>

<p>if(birth1 == 19 || birth1 == 20 || birth2 > 12 || birth3 > 31) {

    console.log('잘못된 생년월일');

}</p>

<p>

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

wodud3073
2년 전

input type number라면 min 값을 걸어보세요

 

200000을 최소값으로 주면 19시작은 못넣을거 같네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
2년 전

자바스크립트로 해당 중간날짜가 12월까지인지 유무 체크해서 처리해 주시면 좋지 않을까 싶습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인