더 나은 프로그래머가 되자

글자 수 제한 스크립트(오버된 글씨는 전체 삭제) 본문

언어/js

글자 수 제한 스크립트(오버된 글씨는 전체 삭제)

greathuman 2012. 9. 4. 17:11

<script>
 // 글자 제한
 function maxLengthCheck(maxSize, lineSize, obj, remainObj){
  var temp;
  var f = obj.value.length;
  var msglen = parseInt(0);
  var tmpstr = "";
  var enter = 0;
  var strlen;

  if (f == 0)//남은 글자 byte 수 보여 주기
  { 
   if (remainObj != null)//null 옵션이 아닐 때 만 보여준다.
   {
   remainObj.innerHTML = msglen;
      //remainObj.value = msglen;
   } 
  }
  else{
   for(k = 0; k < f ; k++){
    temp = obj.value.charAt(k);

    if(temp =="\n"){
  enter++;
    }
    if(escape(temp).length > 4)
 //    msglen -= 2;
 msglen += 2;
    else//
  //   msglen--;
  msglen++;
   
    if(msglen >maxSize){
  alert("총 영문 "+(maxSize)+"자 한글 "+(maxSize/2)+"자 까지 쓰실 수 있습니다.");
  obj.value = tmpstr;
  break;
    }
    else if (lineSize != null & enter > parseInt(lineSize))// lineSize 옵션이 nulldl 아닐 때만 사용
    {
  alert("라인수 "+lineSize+"라인을 넘을 수 없습니다.")
  enter = 0;
  strlen = tmpstr.length -1;
  obj.value = tmpstr.substring(0, strlen);
  break;
    }
    else{
  if (remainObj != null)
  {
   remainObj.innerHTML = msglen;
  // remainObj.value = msglen;
    //  remainObj.value = temp;
  }     
  tmpstr += temp;
    }
   } 
  }
 }
</script>

<font color="#FF8409"><span id="text_byte2">0</span></font> byte / 500byte

<textarea name="cm_content" id="cm_contents" onChange="javascript:maxLengthCheck('500', null, this, text_byte2);" onKeyup="javascript:maxLengthCheck('500', null, this, text_byte2);" ></textarea>

 

 

Comments