드

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

· 2006-07-25 (화) 17:10:11 · 4585
자바스크립트에서는 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,734
10-09-19 조회 2,769
10-09-15 조회 2,768
10-09-15 조회 4,171
10-09-15 조회 3,399
10-09-15 조회 2,500
10-09-07 조회 3,619
10-08-27 조회 4,074
10-06-11 조회 4,259
10-05-31 조회 2,499
10-02-27 조회 5,017
10-02-09 조회 3,766
09-10-10 조회 7,351
09-03-19 조회 3,215
09-02-09 조회 3,483
09-02-09 조회 4,541
08-11-01 조회 2,922
08-09-29 조회 4,571
08-09-26 조회 3,520
08-09-26 조회 3,595
08-09-26 조회 2,730
08-09-26 조회 3,774
08-09-26 조회 3,500
08-09-26 조회 4,266
08-09-18 조회 3,592
08-09-09 조회 3,238
08-08-28 조회 2,783
08-07-06 조회 3,552
08-05-21 조회 4,716
08-05-13 조회 4,549
08-04-17 조회 4,927
08-02-19 조회 3,549
08-01-18 조회 3,854
08-01-10 조회 3,827
07-10-22 조회 3,660
07-10-09 조회 4,318
07-10-03 조회 3,527
07-07-06 조회 4,221
07-07-06 조회 4,430
07-07-06 조회 4,040
07-06-28 조회 3,583
07-06-05 조회 3,588
07-06-05 조회 4,130
07-05-30 조회 3,300
07-05-02 조회 3,690
07-04-15 조회 5,161
07-04-11 조회 3,639
07-04-05 조회 3,936
07-03-31 조회 3,160
07-03-31 조회 4,136
07-03-30 조회 3,743
07-03-24 조회 4,009
07-03-22 조회 3,668
07-03-12 조회 4,419
07-02-16 조회 3,283
07-02-14 조회 5,172
07-02-10 조회 4,005
07-02-09 조회 4,392
07-01-19 조회 4,056
07-01-16 조회 4,985
06-12-16 조회 5,851
06-11-30 조회 3,606
06-11-25 조회 3,713
06-10-15 조회 5,078
06-09-26 조회 5,321
06-09-26 조회 5,435
06-09-22 조회 4,288
06-09-21 조회 3,554
06-09-21 조회 3,653
06-09-02 조회 3,492
06-08-08 조회 5,124
06-07-20 조회 3,743
06-07-17 조회 3,372
06-07-13 조회 4,192
06-07-11 조회 3,488
06-07-11 조회 3,495
06-07-11 조회 3,856
06-06-29 조회 6,073
06-06-19 조회 6,467
06-06-02 조회 3,520
06-05-24 조회 5,005
06-05-14 조회 7,787
06-05-08 조회 3,911
06-02-02 조회 5,470
05-12-16 조회 4,522
05-12-05 조회 5,171
05-06-28 조회 4,127
05-04-11 조회 4,078
05-04-11 조회 4,260
05-04-11 조회 3,327
05-03-13 조회 3,227
05-03-12 조회 4,306
04-12-08 조회 7,786
04-12-01 조회 5,200
04-11-28 조회 3,378
04-11-28 조회 3,214
04-08-05 조회 5,632
04-08-05 조회 4,983
04-08-05 조회 5,591