드

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

· 2006-07-25 (화) 17:10:11 · 4555
자바스크립트에서는 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-08-18 조회 3,179
06-08-18 조회 2,841
06-08-18 조회 2,954
06-08-14 조회 2,395
06-08-13 조회 2,679
06-08-12 조회 3,808
06-08-12 조회 2,931
06-08-11 조회 4,177
06-08-11 조회 4,114
06-08-10 조회 3,209
06-08-10 조회 2,794
06-08-09 조회 3,853
06-08-08 조회 3,870
06-08-08 조회 5,113
06-08-08 조회 2,970
06-08-07 조회 3,689
06-08-06 조회 3,325
06-08-06 조회 4,469
06-08-05 조회 2,406
06-08-05 조회 2,477
06-08-05 조회 2,758
06-08-05 조회 3,244
06-08-05 조회 2,804
06-08-05 조회 2,742
06-08-04 조회 3,093
06-08-04 조회 3,237
06-08-04 조회 5,948
06-08-04 조회 3,350
06-08-04 조회 4,202
06-08-04 조회 3,634
06-08-03 조회 3,415
06-08-01 조회 5,698
06-07-31 조회 3,559
06-07-31 조회 3,389
06-07-30 조회 2,930
06-07-30 조회 2,722
06-07-29 조회 4,399
06-07-29 조회 3,350
06-07-28 조회 7,172
06-07-27 조회 3,116
06-07-26 조회 2,864
06-07-26 조회 3,741
06-07-26 조회 2,791
06-07-26 조회 3,261
06-07-25 조회 3,150
06-07-25 조회 4,556
06-07-25 조회 3,527
06-07-25 조회 3,740
06-07-24 조회 5,397
06-07-24 조회 4,630
06-07-23 조회 3,295
06-07-23 조회 5,412
06-07-22 조회 4,344
06-07-21 조회 5,171
06-07-21 조회 2,989
06-07-21 조회 3,197
06-07-21 조회 3,156
06-07-20 조회 4,327
06-07-20 조회 3,713
06-07-20 조회 4,488
06-07-20 조회 3,717
06-07-20 조회 3,537
06-07-20 조회 3,406
06-07-20 조회 3,250
06-07-20 조회 3,164
06-07-20 조회 5,279
06-07-20 조회 3,679
06-07-20 조회 3,223
06-07-20 조회 3,253
06-07-20 조회 3,841
06-07-19 조회 2,965
06-07-19 조회 4,301
06-07-19 조회 3,830
06-07-19 조회 3,307
06-07-19 조회 2,807
06-07-19 조회 3,219
06-07-19 조회 3,052
06-07-19 조회 2,892
06-07-19 조회 3,467
06-07-19 조회 3,300
06-07-19 조회 4,875
06-07-19 조회 4,739
06-07-19 조회 3,257
06-07-19 조회 4,264
06-07-19 조회 2,972
06-07-19 조회 3,394
06-07-19 조회 3,322
06-07-17 조회 3,346
06-07-17 조회 3,184
06-07-16 조회 3,791
06-07-14 조회 3,839
06-07-14 조회 4,221
06-07-14 조회 4,090
06-07-14 조회 3,687
06-07-13 조회 3,981
06-07-13 조회 4,165
06-07-12 조회 3,914
06-07-11 조회 3,625
06-07-11 조회 3,915
06-07-11 조회 5,545