자바스크립트에서는 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>
그래서 바이트 단위로 길이를 검사하고 자르는 메소드를 추가해봤습니다.
서핑중에 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>
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 730 |
|
19년 전 | 2729 | |
| 729 |
그레이스웹
|
19년 전 | 3520 | |
| 728 |
|
19년 전 | 2702 | |
| 727 |
|
19년 전 | 2539 | |
| 726 |
|
19년 전 | 2356 | |
| 725 |
|
19년 전 | 2260 | |
| 724 |
|
19년 전 | 2140 | |
| 723 |
|
19년 전 | 4264 | |
| 722 |
|
19년 전 | 2689 | |
| 721 |
|
19년 전 | 2178 | |
| 720 |
|
19년 전 | 2281 | |
| 719 |
|
19년 전 | 2858 | |
| 718 |
|
19년 전 | 1969 | |
| 717 |
|
19년 전 | 3199 | |
| 716 |
|
19년 전 | 2758 | |
| 715 |
|
19년 전 | 2282 | |
| 714 |
|
19년 전 | 1832 | |
| 713 |
|
19년 전 | 2249 | |
| 712 |
|
19년 전 | 2016 | |
| 711 |
|
19년 전 | 1914 | |
| 710 |
|
19년 전 | 2487 | |
| 709 |
|
19년 전 | 2340 | |
| 708 |
|
19년 전 | 3901 | |
| 707 |
|
19년 전 | 3744 | |
| 706 |
|
19년 전 | 2246 | |
| 705 |
|
19년 전 | 3321 | |
| 704 |
|
19년 전 | 1989 | |
| 703 |
|
19년 전 | 2392 | |
| 702 |
|
19년 전 | 2286 | |
| 701 |
홀로남은자
|
19년 전 | 2352 | |
| 700 |
홀로남은자
|
19년 전 | 2188 | |
| 699 | 19년 전 | 2820 | ||
| 698 |
|
19년 전 | 2846 | |
| 697 |
|
19년 전 | 3182 | |
| 696 |
|
19년 전 | 3052 | |
| 695 |
|
19년 전 | 2719 | |
| 694 |
|
19년 전 | 2953 | |
| 693 |
|
19년 전 | 3200 | |
| 692 |
|
19년 전 | 2885 | |
| 691 |
|
19년 전 | 2630 | |
| 690 | 19년 전 | 2934 | ||
| 689 | 19년 전 | 4518 | ||
| 688 | 19년 전 | 2442 | ||
| 687 | 19년 전 | 2457 | ||
| 686 | 19년 전 | 3490 | ||
| 685 | 19년 전 | 3177 | ||
| 684 | 19년 전 | 2840 | ||
| 683 | 19년 전 | 2068 | ||
| 682 | 19년 전 | 1780 | ||
| 681 | 19년 전 | 2880 | ||
| 680 | 19년 전 | 1735 | ||
| 679 | 19년 전 | 2314 | ||
| 678 | 19년 전 | 3967 | ||
| 677 | 19년 전 | 3745 | ||
| 676 | 19년 전 | 3474 | ||
| 675 | 19년 전 | 3415 | ||
| 674 |
|
19년 전 | 1571 | |
| 673 |
|
19년 전 | 1940 | |
| 672 |
|
19년 전 | 1868 | |
| 671 | 19년 전 | 2535 | ||
| 670 | 19년 전 | 4643 | ||
| 669 |
|
19년 전 | 2775 | |
| 668 |
|
19년 전 | 1931 | |
| 667 |
|
19년 전 | 1943 | |
| 666 |
|
19년 전 | 1854 | |
| 665 |
|
19년 전 | 2585 | |
| 664 |
|
19년 전 | 8185 | |
| 663 |
|
19년 전 | 2739 | |
| 662 |
|
19년 전 | 2798 | |
| 661 |
|
19년 전 | 3051 | |
| 660 |
|
19년 전 | 2224 | |
| 659 |
|
19년 전 | 2239 | |
| 658 |
|
19년 전 | 2183 | |
| 657 |
|
19년 전 | 2090 | |
| 656 |
|
19년 전 | 2279 | |
| 655 |
|
19년 전 | 2540 | |
| 654 |
|
19년 전 | 3085 | |
| 653 | 19년 전 | 2336 | ||
| 652 | 19년 전 | 1919 | ||
| 651 |
|
19년 전 | 2857 | |
| 650 | 19년 전 | 5021 | ||
| 649 | 19년 전 | 3514 | ||
| 648 | 19년 전 | 3469 | ||
| 647 | 19년 전 | 2980 | ||
| 646 | 19년 전 | 2415 | ||
| 645 | 19년 전 | 1504 | ||
| 644 | 19년 전 | 3146 | ||
| 643 | 19년 전 | 2026 | ||
| 642 |
|
19년 전 | 5401 | |
| 641 | 19년 전 | 2439 | ||
| 640 | 19년 전 | 3438 | ||
| 639 | 19년 전 | 2875 | ||
| 638 | 19년 전 | 1769 | ||
| 637 | 19년 전 | 3883 | ||
| 636 | 19년 전 | 2433 | ||
| 635 | 19년 전 | 2324 | ||
| 634 |
|
19년 전 | 3028 | |
| 633 |
|
19년 전 | 3308 | |
| 632 | 19년 전 | 2514 | ||
| 631 | 19년 전 | 2271 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기