function byteCheck() {
var str = jQuery('.z_border').val();
var size = 0;
for(var i=0;i<str.length;i++) {
size++;
if(44032 <str.charCodeAt(i) && str.charCodeAt(i) <= 55203) { // hangul Syliables
size++;
}
if(12593 <= str.charCodeAt(i) && str.charCodeAt(i) <= 12686 ) {
size++;
}
}
if(size > 100) {
size = 100;
jQuery('.z_border').val(jQuery('.z_border').val().substring(0,100));
}
jQuery('#byteLength').html(size);
}
출처 - http://magefister.egloos.com/1907679
===================================================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Help</title>
<Script>
<!--
$(function () {
$('.remaining').each(function () {
// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
var $count = $('.count', this);
var $input = $(this).prev();
// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
var maximumCount = $count.text() * 1;
// update 함수는 keyup, paste, input 이벤트에서 호출한다.
var update = function () {
var before = $count.text() * 1;
var now = maximumCount - $input.val().length;
// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
if (now < 0) {
var str = $input.val();
alert('글자 입력수가 초과하였습니다.');
$input.val(str.substr(0, maximumCount));
now = 0;
}
// 필요한 경우 DOM을 수정한다.
if (before != now) {
$count.text(now);
}
};
// input, keyup, paste 이벤트와 update 함수를 바인드한다
$input.bind('input keyup paste', function () { setTimeout(update, 0) });
update();
});
});
//-->
</Script>
</head>
<body>
<TEXTAREA id="contentHelp"></TEXTAREA>
<DIV class="remaining">남은 글자수: <SPAN class="count">10</SPAN></DIV>
</body>
</html>
출처 - http://burchurl.egloos.com/2264355
===================================================================================
다음은 테스트한 javascript 소스이다.
html 소스
출처 - http://aircook.tistory.com/100
'Development > jQuery' 카테고리의 다른 글
jQuery - History/Back Button plugins (0) | 2013.06.25 |
---|---|
jquery - 메소드 정리 (0) | 2012.11.01 |
jquery - change 이벤트 select 예제 (0) | 2012.06.21 |
jquery ajax pagination 예제 (0) | 2012.06.16 |
jQuery UI CSS Framework 3 - ibm (0) | 2012.06.09 |