드

한글 문자열 자르기 입니다. ^^

· 2006-07-25 (화) 17:10:11 · 4565
자바스크립트에서는 2바이트 문자를 한글자로 처리하기 때문에 바이트 단위로 잘라야 하거나 검사할때 문제가 많습니다.
그래서 바이트 단위로 길이를 검사하고 자르는 메소드를 추가해봤습니다.
서핑중에 sms 보내는 폼이 나오면... 혹시나하고 소스를 열어보곤 하는데.. ㅇ_ㅇ(힉..)
80바이트가 넘는지 검사하는걸 상당히 복잡하게 코딩해논게 보이더군요..
코드 나갑니다.
<script>
/**
* string String::cut(int len)
* 글자를 앞에서부터 원하는 바이트만큼 잘라 리턴합니다.
* 한글의 경우 2바이트로 계산하며, 글자 중간에서 잘리지 않습니다.
*/
String.prototype.cut = function(len) {
var str = this;
var l = 0;
for (var i=0; i<str.length; i++) {
l += (str.charCodeAt(i) > 128) ? 2 : 1;
if (l > len) return str.substring(0,i) + "...";
}
return str;
}
/**
* bool String::bytes(void)
* 해당스트링의 바이트단위 길이를 리턴합니다. (기존의 length 속성은 2바이트 문자를 한글자로 간주합니다)
*/
String.prototype.bytes = function() {
var str = this;
var l = 0;
for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1;
return l;
}
aaa = "동a해b물c과 백두산이";
alert(aaa.cut(15));
// 또는
bbb = "너무긴내용너무긴내용너무긴내용";
alert("length: " + bbb.length + "nbytes(): " + bbb.bytes());
//응용
if (bbb.bytes() > 20) {
alert("내용이 너무 깁니다");
} else {
// 처리
}

</script><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
08-04-17 조회 4,350
08-03-14 조회 3,222
08-03-08 조회 3,041
08-03-06 조회 3,019
08-03-03 조회 4,308
08-02-20 조회 2,991
08-02-15 조회 3,906
08-02-11 조회 5,065
08-02-09 조회 5,802
08-02-05 조회 3,836
08-01-14 조회 6,646
08-01-11 조회 7,077
08-01-04 조회 1.1만
07-12-10 조회 4,986
07-12-10 조회 3,854
07-12-04 조회 3,394
07-11-29 조회 3,565
07-11-27 조회 3,920
07-11-23 조회 4,516
07-11-23 조회 4,250
07-11-13 조회 4,380
07-10-19 조회 4,844
07-10-17 조회 5,896
07-10-03 조회 5,061
07-10-02 조회 8,820
07-10-02 조회 4,471
07-09-09 조회 3,449
07-07-29 조회 4,335
07-07-28 조회 4,559
07-07-26 조회 4,458
07-06-19 조회 1.1만
07-06-17 조회 3,622
07-06-15 조회 4,118
07-05-31 조회 3,187
07-05-09 조회 5,337
07-05-04 조회 3,188
07-05-04 조회 3,532
07-04-28 조회 6,427
07-04-26 조회 4,675
07-04-14 조회 5,316
07-04-13 조회 3,734
07-04-12 조회 5,924
07-03-27 조회 3,865
07-03-19 조회 3,564
07-03-13 조회 4,637
07-03-07 조회 4,786
07-03-07 조회 3,299
07-02-25 조회 3,659
07-02-21 조회 4,551
07-02-18 조회 5,071
07-02-12 조회 3,418
07-02-02 조회 4,540
07-01-28 조회 6,152
07-01-27 조회 5,653
07-01-25 조회 4,026
07-01-21 조회 4,656
07-01-19 조회 6,589
07-01-19 조회 8,051
07-01-13 조회 3,508
07-01-09 조회 5,167
06-12-27 조회 3,547
06-11-24 조회 3,671
06-11-18 조회 4,187
06-10-17 조회 5,506
06-10-01 조회 4,427
06-09-26 조회 4,313
06-09-25 조회 4,637
06-09-25 조회 4,343
06-09-22 조회 4,869
06-09-22 조회 3,646
06-09-22 조회 4,488
06-09-13 조회 5,304
06-08-27 조회 4,912
06-08-26 조회 6,282
06-08-26 조회 5,586
06-08-23 조회 5,086
06-07-28 조회 7,182
06-07-24 조회 4,642
06-07-23 조회 5,420
06-07-21 조회 5,182
06-07-19 조회 3,066
06-07-19 조회 2,989
06-07-11 조회 3,637
06-07-11 조회 3,926
06-07-11 조회 4,509
06-07-11 조회 4,972
06-07-11 조회 3,588
06-07-11 조회 9,210
06-07-11 조회 4,068
06-07-11 조회 3,301
06-07-11 조회 3,348
06-07-11 조회 3,287
06-07-11 조회 3,085
06-07-07 조회 4,126
06-06-25 조회 4,476
06-06-15 조회 4,472
06-06-14 조회 4,954
06-06-11 조회 3,548
06-06-10 조회 3,931
06-06-09 조회 3,511