Before 2022/ETC

자바스트립트 유효성 검사 - 바이트(글자 수) 체크

Eljoe 2018. 12. 3. 11:58
function byteCheck(obj, maxByte){
    var str = obj.value;
    var strLength = str.length;

    var chkByte = 0;
    var chkLen = 0;
    var oneChar = '';
    var str2 = '';

    for(var i = 0; i < strLength; i++){

        oneChar = str.charAt(i);

        if(escape(oneChar).length > 4){
            chkByte += 2; //한글
        }else{
            chkByte++;
        }

        if(chkByte <= maxByte){

            chkLen = i+1;

        }

    }

    if(chkByte > maxByte){
        alert("해당 입력 창은 최대 "+maxByte+"Byte를 초과할 수 없습니다.");

        str2 = str.substr(0, chkLen);
        obj.value = str2;
        obj.focus();

        return false;

    }

    return result;
}