2015년 4월 16일 목요일

문자열길이체크

var len;
var str;
var textarea;
function getCheck(tagName,maxlen){  //tagName : TextArea의 id값 // maxlen : 체크할 최대byte수
    len = 0;
    textarea = document.getElementById(tagName);
    str = textarea.value;
    //str = document.getElementById(tagName);
    for(var i=0; i<str.length; i++){
        // charCodeAt에서 한글이 12592이상인걸로 알고있지만 아닐수도?(아스키코드 10진수..)
         if(str.charCodeAt(i) >= 12592){  // 이부분에서 영문 숫자 조건줘서 변경 가능
            len = len + 3;  // 한글은 3바이트로 체크
        }else{
            len = len +1;  // 한글 외에는 1바이트로 체크
        }
        if(len > maxlen){
            alert("Is over "+maxlen+" characters.");
            textarea.value = str.substring(0,i);  // maxlen이상 입력할 수 없다
            str = textarea.value;  // 처리를해주어야 그만돈다
        }
    }
}


// 단순 길이 제한
onkeyup="getCheck(tagName,800)"

var len;
var str;
var textarea;
function getCheck(tagName,maxlen){  //tagName : TextArea의 id값 // maxlen : 체크할 최대byte수
    len = 0;
    textarea = document.getElementById(tagName);
    str = textarea.value;  
    if(str.length>maxlen){
    alert("Is over "+maxlen+" characters.");
    textarea.value = str.substring(0,maxlen);  // maxlen이상 입력할 수 없다      
    }  
}

댓글 없음:

댓글 쓰기