반응형

사업자 등록 번호 체크

function fnCheckCRN(value) {
    var vCrnCode = value;
    if (vCrnCode.length == 10) {
        if (fnCheckBizID(vCrnCode)) {
            alert("사업자 번호가 맞습니다.");            
        } else {
            alert("잘못된 사업자 번호를 입력하셨습니다.");            
        }
    } else {
        alert("사업자 번호 자리수가 맞지 않습니다.");
        return false;
    }
};

 

사업자등록번호 검증 로직

function fnCheckBizID(bizID) {
    // bizID는 숫자만 10자리로 해서 문자열로 넘긴다.
    var checkID = new Array(1, 3, 7, 1, 3, 7, 1, 3, 5, 1);
    var tmpBizID, i, chkSum = 0, c2, remander;
    var result;

    bizID = bizID.replace(/-/gi, '');

    for (i = 0; i <= 7; i++) {
        chkSum += checkID[i] * bizID.charAt(i);
    }

    c2 = "0" + (checkID[8] * bizID.charAt(8));
    c2 = c2.substring(c2.length - 2, c2.length);
    chkSum += Math.floor(c2.charAt(0)) + Math.floor(c2.charAt(1));
    remander = (10 - (chkSum % 10)) % 10;

    if (Math.floor(bizID.charAt(9)) == remander) {
        result = true; // OK!

    } else {
        result = false;
    }
    return result;
}

+ Recent posts