<!DOCTYPE html> <html>
<head>
<title>한글/영어 byte 체크해서 자르기</title>
<meta http-equiv= "content-type" content= "text/html;charset=UTF-8" >
</head>
<body >
<script type= "text/javascript" >
$( function () {
$( '.remaining' ).each( function () {
var $maxcount = $( '.maxcount' , this );
var $count = $( '.count' , this );
var $input = $( "#contents" );
var maximumByte = $maxcount.text() * 1;
var update = function () {
var before = $count.text() * 1;
var str_len = $input.val().length;
var cbyte = 0;
var li_len = 0;
for (i = 0; i < str_len; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2;
} else {
cbyte++;
}
if (cbyte <= maximumByte) {
li_len = i + 1;
}
}
if (parseInt(cbyte) > parseInt(maximumByte)) {
alert( '허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.' );
var str = $input.val();
var str2 = $input.val().substr(0, li_len);
$input.val(str2);
var cbyte = 0;
for (i = 0; i < $input.val().length; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2;
} else {
cbyte++;
}
}
}
$count.text(cbyte);
};
$input.bind( 'input keyup keydown paste change' , function () {
setTimeout(update, 0)
});
update();
});
});
</script>
<div>
<textarea rows= "5" cols= "50" id= "contents" /></textarea>
</div>
<span class= "remaining" >
<span class= "count" >0</span>/<span class= "maxcount" >80</span>byte(한글 40자, 영어 80자)
</span>
</body>
</html>
|