티스토리 뷰

반응형

JQUERY 글자수, 글자 바이트 체크

 

// 글자수 체크
function validateMaxLength(id, size){
	$("#"+id).keyup(function (e){
	    var content = $(this).val();
	    // $('#counter').html("("+content.length+" / 최대 200자)");    //글자수 실시간 카운팅

	    if (content.length > size){
	        alert("최대 "+size+"자까지 입력 가능합니다.");
	        $(this).val(content.substring(0, size));
	        // $('#counter').html("(200 / 최대 200자)");
	    }
	});
}

// 글자 바이트 체크
function validateMaxByte(id, size){	
	$("#"+id).keyup(function (e){
		
	    var str = $(this).val();	    
	    var str_len = str.length;
	    
	    var rbyte = 0;
	    var rlen = 0;
	    var one_char = "";
	    
	    for(var i=0; i<str_len; i++){
	    	one_char = str.charAt(i);
	    	if(escape(one_char).length > 4){
	    	    rbyte += 3;                                         //한글3Byte
	    	}else{
	    	    rbyte++;                                            //영문 등 나머지 1Byte
	    	}

	    	if(rbyte <= size){
	    	    rlen = i+1;                                          //return할 문자열 갯수
	    	}
	    }
	    
	    if(rbyte > size){
	    	alert("최대 "+size+"byte까지 입력 가능합니다.");
	    	 $(this).val(str.substr(0,rlen));
	    }

	});
}



<script>
	validateMaxByte("etc", 300);	// maxbyte 체크
    validateMaxLength("etc", 300);	// 길이 체크

<script>

<html>
	<textarea id="etc" name="etc" ></textarea>
</html>

 

 

 

끗!@#@#%ㄲ

반응형