텍스트 폼에서 글자수 제한하기 및 글자수 첵크하기
텍스트 폼에서 글자수 제한하기 및 글자수 첵크하기
html
<form name="form">
<textarea name="text" onKeyUp="javascript:cal_pre(document.form.text.value);"> </textarea>
<br>
<input type="text" name="cbyte" value="0" size="3">
/영문50자(한글25자)
</form>
js
function cal_pre(mnum) {
var tmpStr, tcount;
tmpStr = new String(mnum);
cal_byte(mnum);
}
function cutText(str) {
var tmpStr = str;
var szComplete = "";
var tcount = 0;
var onechar;
for (k=0;k <tmpStr.length;k++) {
onechar = tmpStr.charAt(k);
if (escape(onechar).length > 4) {
tcount += 2;
} else if (onechar!='\r') {
tcount++;
}
if (tcount > 50) {
tmpStr = szComplete;
document.form.text.value = tmpStr;
document.form.cbyte.value = 50;
break;
} else {
szComplete = szComplete + onechar;
}
}
}
function cal_byte(aquery)
{
var tmpStr;
var temp=0;
var onechar;
var tcount;
tcount = 0;
tmpStr = new String(aquery);
temp = tmpStr.length;
for (k=0;k <temp;k++) {
onechar = tmpStr.charAt(k);
if (escape(onechar).length > 4) {
tcount += 2;
} else if (onechar!='\r') {
tcount++;
}
}
document.form.cbyte.value = tcount;
if(tcount>50) {
reserve = tcount-50;
alert("메시지 내용은 50바이트 이상은 전송하실수 없습니다.\r\n 쓰신 메세지는 "+reserve+"바이트가 초과되었습니다.\r\n초과된 부분은 자동으로 삭제됩니다.");
cutText(tmpStr);
return;
}
}
CodePen
See the Pen 자바스크립트 글자수 제한 by younghyeong ryu (@wangta69) on CodePen.