티스토리 뷰
var ch = escape(str.charAt(i));
if (ch.length == 1) bytes++;
else if (ch.indexOf("%u") != -1) bytes += 2;
else if (ch.indexOf("%") != -1) bytes += ch.length / 3;
부분이 핵심 부분입니다.
function getByteLength(str) {
var len = 0;
var max = str.length;
for (var i = 0; i < max; i++) {
var ch = escape(str.charAt(i));
if (ch.length == 1) len++;
else if (ch.indexOf("%u") != -1) len += 2;
else if (ch.indexOf("%") != -1) len += ch.length / 3;
}
return len;
}
function setCutStr(str, limit_len) {
var max = str.length;
var bytes = 0;
for (var i = 0; i < max; i++) {
var ch = escape(str.charAt(i));
if (ch.length == 1) bytes++;
else if (ch.indexOf("%u") != -1) bytes += 2;
else if (ch.indexOf("%") != -1) bytes += ch.length / 3;
if (bytes > limit_len) {
return str.substring(0, i);
}
}
return str;
}
jQuery('#textarea').on('keyup', function() {
var strlen = getByteLength(this.value);
if (strlen > 500) {
alert('500byte 까지 입력가능합니다.');
var result = setCutStr(this.value, 500);
jQuery('#textarea'').val(result);
strlen = getByteLength(result);
jQuery('#textLength').html(strlen);
} else {
var strlen = getByteLength(this.value);
jQuery('#textLength').html(strlen);
}
});
- Total
- Today
- Yesterday
- MySQL
- 아이폰6 플러스
- 태그를 입력해 주세요.
- 카카오톡
- 카카오스토리 API
- timestamp
- 한글깨짐
- ie8
- 아이폰
- 10월의어느멋진날에
- 가로모드
- sphinx
- 10월의 어느 멋진 날에 듣기
- Eclipse
- base64_encode
- 모바일 사파리
- 메일제목
- 해금
- jpg
- 소스유출
- php7
- file compare
- nginx
- 이미지 제한
- Git
- php-cgi
- php
- CMYK
- 백일상
- innodb_buffer_pool_size
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |