easy software

textarea태그의 입력 바이트를 제어할 수 있는 함수 본문

javascript

textarea태그의 입력 바이트를 제어할 수 있는 함수

JAVA 웹개발자 2016. 6. 5. 23:55

 


//textarea태그에서 maxlength를 설정할 수 있도록 하는 스크립트
function fnChkByte(obj, maxByte){
 var str = obj.value;
 var str_len = str.length;

 var rbyte = 0;
 var rlen = 0;
 var one_char = "";
 var str2 = "";

 for(var i=0; i<str_len; i++){
  one_char = str.charAt(i);
  if(escape(one_char).length > 4){
   rbyte += 2;                                         //한글2Byte
  }else{
   rbyte++;                                            //영문 등 나머지 1Byte
  }

  if(rbyte <= maxByte){
   rlen = i+1;                                          //return할 문자열 갯수
  }
 }

 if(rbyte > maxByte){
  alert("한글 "+(maxByte/2)+"자 / 영문 "+maxByte+"자를 초과 입력할 수 없습니다.");
  str2 = str.substr(0,rlen);                                  //문자열 자르기
  obj.value = str2;
  fnChkByte(obj, maxByte);
 }
}

 

 

 

<textarea name="test" cols="100" rows="10" onKeyUp="javascript:fnChkByte(this,'2000')"></textarea>

 

 

함수의 파라미터로 this 객체와 최대 바이트를 전달하여 사용

Comments