드

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

· 2006-07-25 (화) 17:10:11 · 4623
자바스크립트에서는 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건
+
제목 글쓴이 날짜 조회
10-09-25 조회 2,755
10-09-19 조회 2,792
10-09-15 조회 2,805
10-09-15 조회 4,209
10-09-15 조회 3,441
10-09-15 조회 2,536
10-09-07 조회 3,656
10-08-27 조회 4,111
10-06-11 조회 4,293
10-05-31 조회 2,540
10-02-27 조회 5,053
10-02-09 조회 3,796
09-10-10 조회 7,388
09-03-19 조회 3,244
09-02-09 조회 3,516
09-02-09 조회 4,567
08-11-01 조회 2,950
08-09-29 조회 4,602
08-09-26 조회 3,537
08-09-26 조회 3,610
08-09-26 조회 2,746
08-09-26 조회 3,791
08-09-26 조회 3,517
08-09-26 조회 4,288
08-09-18 조회 3,632
08-09-09 조회 3,265
08-08-28 조회 2,807
08-07-06 조회 3,577
08-05-21 조회 4,734
08-05-13 조회 4,581
08-04-17 조회 4,950
08-02-19 조회 3,566
08-01-18 조회 3,894
08-01-10 조회 3,856
07-10-22 조회 3,690
07-10-09 조회 4,361
07-10-03 조회 3,566
07-07-06 조회 4,240
07-07-06 조회 4,455
07-07-06 조회 4,071
07-06-28 조회 3,602
07-06-05 조회 3,615
07-06-05 조회 4,162
07-05-30 조회 3,328
07-05-02 조회 3,708
07-04-15 조회 5,191
07-04-11 조회 3,669
07-04-05 조회 3,973
07-03-31 조회 3,184
07-03-31 조회 4,157
07-03-30 조회 3,771
07-03-24 조회 4,028
07-03-22 조회 3,693
07-03-12 조회 4,447
07-02-16 조회 3,314
07-02-14 조회 5,198
07-02-10 조회 4,040
07-02-09 조회 4,419
07-01-19 조회 4,089
07-01-16 조회 5,022
06-12-16 조회 5,889
06-11-30 조회 3,638
06-11-25 조회 3,754
06-10-15 조회 5,107
06-09-26 조회 5,343
06-09-26 조회 5,462
06-09-22 조회 4,321
06-09-21 조회 3,570
06-09-21 조회 3,673
06-09-02 조회 3,511
06-08-08 조회 5,149
06-07-20 조회 3,775
06-07-17 조회 3,400
06-07-13 조회 4,221
06-07-11 조회 3,515
06-07-11 조회 3,516
06-07-11 조회 3,877
06-06-29 조회 6,116
06-06-19 조회 6,491
06-06-02 조회 3,553
06-05-24 조회 5,028
06-05-14 조회 7,818
06-05-08 조회 3,937
06-02-02 조회 5,488
05-12-16 조회 4,565
05-12-05 조회 5,196
05-06-28 조회 4,155
05-04-11 조회 4,109
05-04-11 조회 4,287
05-04-11 조회 3,349
05-03-13 조회 3,261
05-03-12 조회 4,322
04-12-08 조회 7,815
04-12-01 조회 5,222
04-11-28 조회 3,405
04-11-28 조회 3,240
04-08-05 조회 5,659
04-08-05 조회 5,007
04-08-05 조회 5,621