Javascript/Tech&Tip2009/02/05 19:10


/*
 * objIdNoFront : 주민등록번호 앞자리 개체
 * objIdNoRear  : 주민등록번호 뒷자리 개체
 */
function isIdNoCorrect(objIdNoFront, objIdNoRear) {
    var chk = 0;
    var yy = objIdNoFront.value.substring(0,2);
    var mm = objIdNoFront.value.substring(2,4);
    var dd = objIdNoFront.value.substring(4,6);
    var sex = objIdNoRear.value.substring(0,1);

    if (objIdNoRear.value.split(" ").join("") == "") {
        alert("주민등록번호를 입력하세요.");
        objIdNoFront.focus();
        return false;
    }
   
    if (objIdNoFront.value.length != 6) {
        alert("주민등록번호 앞자리를 입력하세요.");
        objIdNoFront.focus();
        return false;
    }
   
    if (objIdNoRear.value.length != 7 ) {
        alert("주민등록번호 뒷자리를 입력하세요.");
        objIdNoRear.focus();
        return false;
    }
   
    if (isNaN(objIdNoFront.value) || isNaN(objIdNoRear.value)) {
        objIdNoFront.value = "";
        objIdNoRear.value = "";
        alert("주민등록번호는 숫자만 가능합니다.");
        return false;
    }
   
    if ((objIdNoFront.value.length != 6) || (mm < 1 || mm > 12 || dd < 1)) {
        alert ("주민등록번호 앞자리가 올바르지 않습니다.");
        objIdNoFront.focus();
        return false;
    }
   
    if ((sex != 1 && sex != 2 ) || (objIdNoRear.value.length != 7 )) {
        alert ("주민등록번호 뒷자리가 올바르지 않습니다.");
        objIdNoRear.focus();
        return false;
    }

    for (var i = 0; i <= 5 ; i++) {
        chk = chk + ((i % 8 + 2) * parseInt(objIdNoFront.value.substring(i, i+1)));
    }
   
    for (var i = 6; i <=11 ; i++) {
        chk = chk + ((i % 8 + 2) * parseInt(objIdNoRear.value.substring(i-6, i-5)));
    }

    chk = 11 - (chk % 11);
    chk = chk % 10;

    if (chk != objIdNoRear.value.substring(6, 7)) {
        alert ("올바르지 않은 주민등록번호입니다.");
        objIdNoFront.focus();
        return false;
    }
   
    return true;
}

저작자 표시 비영리 변경 금지
Posted by 야노