Java Script - 글자수 제한

5.Developement 2019. 9. 25. 15:51

function chkByte(name, msgMax) {
    var msgList = name.value;  // 글자가 입력되는 이벤트가 발생되는 value 값
    var msgListLength = msgList.length;  // 입력 되는 글자의 전체 길이
    
    var limitSize = msgMax;  // 제한 할 글자 길이
    var charOne = "";  // 한 글자씩 검사하기 위한 변수
    var charByte = 0;  // 입력 되고 있는 문자의 길이(바이트) 를 저장할 변수
    var msgLen = 0;  // 입력 내용을 담아 subString 할 변수
    var msgLast = "";  // 글자수가 초과 할 경우, 제한 할 마지막 글자 까지 보여준다
    
    for(var i = 0; i < msgListLength; i++) {  // 입력 되고 있는 글자의 전체길이를 루프를 돈다.
     charOne = msgList.charAt(i);  // 한글자씩 읽음
    
     // 한글은 2byte 이므로, 한글이 입력 되고 있을 경우 2를 더한다.
     if(escape(charOne).length > 4) {
      charByte += 2;
     } else {
      charByte++;  // 그 외에 경우에는 1byte. 1을 더한다.
     }
     
     if(charByte <= limitSize) {  // 전체 크기가 제한 글자 길이를 넘지 않는다면..
      msgLen = i + 1;
     }
    }
    
    if(charByte > limitSize) {
     alert(limitSize + " 글자를 초과 입력 할 수 없습니다.");
     msgLast = msgList.substr(0, msgLen);
     name.value = msgLast;
     charByte = limitSize;
    }
    
    document.getElementById("write").value = charByte;
   }.

.
.
.

body 부분.
.
.
.
< body>
  길이제한 Test<br><br>
  <textarea rows="20" cols="40" name="msg" -nkeyup="chkByte(this, 300)"></textarea><br>
  <input type="text" id="write" value="0" readOnly style="border: 0; text-align: right; height: 17px; width: 25px;" /> / 300byte
 </body> 

출처: https://minineko.tistory.com/entry/JavaScript-텍스트-입력시-길이-제한 [MiniNeko :: =^..^=]

'5.Developement' 카테고리의 다른 글

Get IP Address with c#  (0) 2020.09.04
posted by Keep It Simple Stupid