자바스크립트

[자바스크립트] 주민등록번호 체크

은둔한량 2013. 2. 19. 15:08
반응형

2013년 2월 18일부로 주민등록번호를 못받게 되었네요 ㅎㅎ

// 주민등록번호체크( 입력폼 1개)
function check_jumin(jumin) {
    var weight = "234567892345"; // 자리수 weight 지정
    var val = jumin.replace("-",""); // "-"(하이픈) 제거
    var sum = 0;
    if(val.length != 13) { return false; }
    for(i=0;i<12;i++) {
        sum += parseInt(val.charAt(i)) * parseInt(weight.charAt(i));
    }
    var result = (11 - (sum % 11)) % 10;
    var check_val = parseInt(val.charAt(12));
    if(result != check_val) { return false; }
    return true;
}


// 주민등록번호체크( 입력폼 2개)
function check_jumin2(input, input2) {
    input.value=Trim(input.value);
    input2.value=Trim(input2.value);
    var left_j=input.value;
    var right_j=input2.value;
    if(input.value.length != 6) {
        alert('주민등록번호를 정확히 입력하세요.');
        input.focus();
        return true;
    }
    if(right_j.length != 7) {
        alert('주민등록번호를 정확히 입력하세요.');
        input2.focus();
        return true;
    }
    var i2=0;
    for(var i=0;i<left_j.length;i++) {
        var temp=left_j.substring(i,i+1);
        if(temp<0 || temp>9)  i2++;
    }
    if((left_j==  '') || (i2 != 0)) {
        alert('주민등록번호가 잘못 입력되었습니다.');
        j_left.focus();
        return true;
    }
    var i3=0;
    for(var i=0;i<right_j.length;i++) {
        var temp=right_j.substring(i,i+1);
        if (temp<0 || temp>9) i3++;
    }
    if((right_j==  '') || (i3 != 0)) {
        alert('주민등록번호가 잘못 입력되었습니다.');
        input2.focus();
        return true;
    }
    var l1=left_j.substring(0,1);
    var l2=left_j.substring(1,2);
    var l3=left_j.substring(2,3);
    var l4=left_j.substring(3,4);
    var l5=left_j.substring(4,5);
    var l6=left_j.substring(5,6);
    var hap=l1*2+l2*3+l3*4+l4*5+l5*6+l6*7;
    var r1=right_j.substring(0,1);
    var r2=right_j.substring(1,2);
    var r3=right_j.substring(2,3);
    var r4=right_j.substring(3,4);
    var r5=right_j.substring(4,5);
    var r6=right_j.substring(5,6);
    var r7=right_j.substring(6,7);
    hap=hap+r1*8+r2*9+r3*2+r4*3+r5*4+r6*5;
    hap=hap%11;
    hap=11-hap;
    hap=hap%10;
    if(hap != r7) {
        alert('주민등록번호가 잘못 입력되었습니다.');
        input2.focus();
        return true;
    }
    return false;
}
반응형