Frontend/JS

글자 수 체크 스크립트

신씅 2011. 2. 24. 09:47
function cal_pre()
{
var tmpStr;

tmpStr = $("#mgmtMthdCtt").val(); // textarea의 값
cal_byte(tmpStr);
}

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) =='%0D') { } 
else if (escape(onechar).length > 4) { tcount++; }
else { tcount++; }
}

$("#currentMsgLen").html(tcount); //글자 수 입력(span)
if(tcount > 150) { //글자 수 지정
reserve = tcount - 150;
alert("150자 이상 작성하실 수 없습니다."); 
nets_check($("#mgmtMthdCtt").val());
return;
}

}

function nets_check(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 ++; //한글or특수문자일 경우(보통 +=2)
} else {
// 엔터값이 들어왔을때 값(\r\n)이 두번실행되는데 첫번째 값(\n)이 들어왔을때 tcount를 증가시키지 않는다.
if(escape(onechar)=='%0A') {
} else {
tcount++;
}
}

if(tcount > 150) { // 150 자 이상시 글자수 자르기
tmpStr = tmpStr.substring(0,k);
break;
}

}
$("#mgmtMthdCtt").val(tmpStr); // 잘린 글자수 만큼만 textarea에 입력
cal_byte(tmpStr);

}

<textarea id="mgmtMthdCtt" name="mgmtMthdCtt" onkeyup="javascript:cal_pre();">
<p class="txt"><span id="currentMsgLen">0</span>/150자</p>


'Frontend > JS' 카테고리의 다른 글

jQuery Ajax 요청 취소하기  (0) 2016.09.08
JQuery - Select  (0) 2012.02.21
팝업 창 리사이징  (0) 2011.01.26