WEB

HTML TEXTAREA 글자수 제한

ndlessrain 2012. 7. 29. 20:16
728x90

javascript 선언문

<script type="text/javascript">

// are_name - textarea객체, ari_max - 제한길이

function f_chk_byte(aro_name,ari_max) {

var ls_str= aro_name.value;

var li_str_len = ls_str.length;

var li_max= ari_max;

var i= 0;

var li_byte= 0;

var li_len= 0;

var ls_one_char = "";

var ls_str2= "";

for(i=0; i< li_str_len; i++) {

ls_one_char = ls_str.charAt(i);

if (escape(ls_one_char).length > 4)

li_byte += 2;

else

li_byte++;

if (li_byte <= li_max) li_len = i + 1;

}

if(li_byte > li_max) {

alert("한글 " +ari_max + "글자를 초과 입력할수 없습니다. 초과된 내용은 자동으로 삭제 됩니다.");

ls_str2 = ls_str.substr(0, li_len);

aro_name.value = ls_str2;

}

aro_name.focus();

}

</script>

HTML 영역

<textarea rows="5" cols="20" onkeyup="f_chk_byte(this,1000)"></textarea>

하지만 위의 코드는 COPY & PASTE를 할 경우 문제가 생기므로 패스...............
<textarea name="actionContent" id="actionContent" cols="88" rows="20" maxlength="1500" onblur="Limit(this)"></textarea>
//textarea maxlength 지정하기
function Limit(obj){
var maxLength = parseInt(obj.getAttribute("maxlength"));
if(obj.value.length > maxLength){
alert("내용은 1500자를 초과할 수 없습니다. 초과된 내용은 삭제됩니다.");
obj.value = obj.value.substring(0,maxLength);
return;
}
}
요거는 포커스 아웃될 때 체크하므로 에러날 염려가 없음

 

728x90