드

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

· 2006-07-25 (화) 17:10:11 · 4593
자바스크립트에서는 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,211
06-08-18 조회 2,875
06-08-18 조회 2,985
06-08-14 조회 2,427
06-08-13 조회 2,705
06-08-12 조회 3,852
06-08-12 조회 2,971
06-08-11 조회 4,196
06-08-11 조회 4,145
06-08-10 조회 3,250
06-08-10 조회 2,824
06-08-09 조회 3,879
06-08-08 조회 3,885
06-08-08 조회 5,132
06-08-08 조회 2,990
06-08-07 조회 3,729
06-08-06 조회 3,359
06-08-06 조회 4,492
06-08-05 조회 2,439
06-08-05 조회 2,521
06-08-05 조회 2,799
06-08-05 조회 3,276
06-08-05 조회 2,831
06-08-05 조회 2,768
06-08-04 조회 3,134
06-08-04 조회 3,269
06-08-04 조회 5,970
06-08-04 조회 3,374
06-08-04 조회 4,227
06-08-04 조회 3,673
06-08-03 조회 3,455
06-08-01 조회 5,726
06-07-31 조회 3,578
06-07-31 조회 3,412
06-07-30 조회 2,954
06-07-30 조회 2,746
06-07-29 조회 4,437
06-07-29 조회 3,389
06-07-28 조회 7,203
06-07-27 조회 3,144
06-07-26 조회 2,899
06-07-26 조회 3,769
06-07-26 조회 2,820
06-07-26 조회 3,295
06-07-25 조회 3,176
06-07-25 조회 4,594
06-07-25 조회 3,554
06-07-25 조회 3,765
06-07-24 조회 5,425
06-07-24 조회 4,656
06-07-23 조회 3,349
06-07-23 조회 5,443
06-07-22 조회 4,388
06-07-21 조회 5,200
06-07-21 조회 3,028
06-07-21 조회 3,233
06-07-21 조회 3,194
06-07-20 조회 4,352
06-07-20 조회 3,750
06-07-20 조회 4,508
06-07-20 조회 3,743
06-07-20 조회 3,570
06-07-20 조회 3,435
06-07-20 조회 3,277
06-07-20 조회 3,199
06-07-20 조회 5,320
06-07-20 조회 3,717
06-07-20 조회 3,257
06-07-20 조회 3,286
06-07-20 조회 3,881
06-07-19 조회 2,989
06-07-19 조회 4,324
06-07-19 조회 3,871
06-07-19 조회 3,341
06-07-19 조회 2,846
06-07-19 조회 3,253
06-07-19 조회 3,087
06-07-19 조회 2,942
06-07-19 조회 3,505
06-07-19 조회 3,341
06-07-19 조회 4,911
06-07-19 조회 4,782
06-07-19 조회 3,299
06-07-19 조회 4,305
06-07-19 조회 3,007
06-07-19 조회 3,435
06-07-19 조회 3,362
06-07-17 조회 3,376
06-07-17 조회 3,209
06-07-16 조회 3,811
06-07-14 조회 3,861
06-07-14 조회 4,261
06-07-14 조회 4,122
06-07-14 조회 3,725
06-07-13 조회 4,013
06-07-13 조회 4,203
06-07-12 조회 3,942
06-07-11 조회 3,654
06-07-11 조회 3,948
06-07-11 조회 5,575