// JavaScript Document
// 글자수 , 폼 객체 이름 , input type name 을 넣어주세요
//textlimit
//<span id="textlimit">0</span>/60 자 글자수를 찍어줍니다
function updateChar(length_limit, formObject,seq)
{
var comment='';
comment = eval("document."+formObject+"."+seq);
var form = eval("document."+formObject);
var length = calculate_msglen(comment.value);
textlimit.innerText = length;
if (length > length_limit) {
alert("최대 " + length_limit + "byte이므로 초과된 글자수는 자동으로 삭제됩니다.");
comment.value = comment.value.replace(/\r\n$/, "");
comment.value = assert_msglen(comment.value, length_limit);
}
}
//글자수반환
function calculate_msglen(message)
{
var nbytes = 0;
for (i=0; i<message.length; i++) {
var ch = message.charAt(i);
//alert("escape="+escape(ch.length)+"["+ch.length+"]");
if(escape(ch).length > 4) {
nbytes += 2;
} else if (ch == '\n') {
if (message.charAt(i-1) != '\r') {
nbytes += 1;
}
} else if (ch == '<' || ch == '>') {
nbytes += 4;
} else {
nbytes += 1;
}
}
return nbytes;
}
//글자수 Max까지다시 잘라내기
function assert_msglen(message, maximum)
{
var inc = 0;
var nbytes = 0;
var msg = "";
var msglen = message.length;
for (i=0; i<msglen; i++) {
var ch = message.charAt(i);
if (escape(ch).length > 4) {
inc = 2;
} else if (ch == '\n') {
if (message.charAt(i-1) != '\r') {
inc = 1;
}
} else if (ch == '<' || ch == '>') {
inc = 4;
} else {
inc = 1;
}
if ((nbytes + inc) > maximum) {
break;
}
nbytes += inc;
msg += ch;
}
textlimit.innerText = nbytes;
return msg;
}
'PHP∵SCRIPT' 카테고리의 다른 글
글자수를 바이트(Byte)로 계산하여 알려주는 소스 (0) | 2013.12.30 |
---|---|
자신의 웹브라우져, 운영체제 확인 (0) | 2013.12.30 |
엔터, 공백 제거 (0) | 2013.12.30 |
모니터 중앙에 새창 띄우기, 새창을 모니터 중앙으로 이동하기 (0) | 2013.12.30 |
[JavaScript] 자바스크립트 :: 문자열 자르기 (0) | 2013.12.30 |
자바스크립트 :: 웹페이지에 키가 눌러지면 키번호 나타내는 함수 (0) | 2013.12.30 |
자바스크립트 :: 각종 버튼 만들기 (새로고침,창닫기, ..) (0) | 2013.12.30 |
폼값 두곳으로 전송하기 (0) | 2013.12.30 |
댓글