드

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

· 2006-07-25 (화) 17:10:11 · 4605
자바스크립트에서는 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건
+
제목 글쓴이 날짜 조회
06-09-11 조회 3,278
06-09-10 조회 3,101
06-09-05 조회 5,434
06-09-02 조회 3,903
06-09-01 조회 3,249
06-09-01 조회 3,576
06-08-27 조회 3,357
06-08-27 조회 3,108
06-08-27 조회 2,881
06-08-27 조회 2,634
06-08-27 조회 2,538
06-08-25 조회 4,069
06-08-25 조회 2,606
06-08-23 조회 4,882
06-08-20 조회 3,622
06-08-19 조회 3,453
06-08-18 조회 2,889
06-08-18 조회 2,993
06-08-11 조회 4,152
06-08-10 조회 2,830
06-08-06 조회 4,499
06-08-05 조회 3,284
06-08-05 조회 2,773
06-07-31 조회 3,418
06-07-30 조회 2,960
06-07-29 조회 3,393
06-07-26 조회 2,907
06-07-26 조회 3,304
06-07-25 조회 3,772
06-07-20 조회 3,440
06-07-20 조회 3,732
06-07-19 조회 3,883
06-07-19 조회 2,954
06-07-19 조회 4,790
06-07-14 조회 3,731
06-07-13 조회 4,022
06-07-11 조회 3,084
06-07-11 조회 2,828
06-07-11 조회 4,778
06-07-11 조회 2,598
06-07-11 조회 2,958
06-06-24 조회 4,015
06-06-24 조회 3,473
06-06-13 조회 4,407
06-06-13 조회 3,313
06-06-11 조회 3,223
06-06-08 조회 3,271
06-06-08 조회 3,411
06-06-08 조회 3,839
06-06-07 조회 3,716
06-06-05 조회 3,927
06-06-02 조회 3,502
06-06-01 조회 4,165
06-05-28 조회 3,828
06-05-26 조회 4,379
06-05-22 조회 3,215
06-05-15 조회 3,693
06-05-14 조회 7,045
06-05-11 조회 3,591
06-05-11 조회 4,176
06-05-11 조회 3,637
06-05-11 조회 2,545
06-05-11 조회 2,817
06-05-11 조회 2,468
06-05-10 조회 3,959
06-05-09 조회 4,826
06-05-07 조회 2,630
06-05-07 조회 2,858
06-05-07 조회 2,567
06-05-06 조회 3,739
06-04-28 조회 3,406
06-04-25 조회 3,797
06-04-25 조회 3,528
06-04-22 조회 3,543
06-04-18 조회 4,554
06-04-14 조회 5,204
06-03-27 조회 3,841
06-03-06 조회 3,850
06-03-05 조회 5,158
06-02-24 조회 3,785
06-02-23 조회 4,199
06-02-22 조회 4,031
06-02-22 조회 3,335
06-01-15 조회 3,676
06-01-10 조회 3,640
06-01-05 조회 4,839
05-12-30 조회 5,564
05-12-23 조회 3,692
05-12-01 조회 3,412
05-09-29 조회 4,527
05-09-27 조회 4,906
05-09-22 조회 6,136
05-09-15 조회 3,065
05-09-08 조회 3,948
05-09-05 조회 5,655
05-09-01 조회 4,725
05-09-01 조회 5,857
05-08-21 조회 3,300
05-08-18 조회 3,658
05-08-17 조회 3,760