자바스크립트에서는 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>
게시글 목록
| 번호 | 제목 |
|---|---|
| 11111 | |
| 11108 | |
| 11107 | |
| 11105 |
JavaScript
이미지 저작권 관련 설명 1탄
1
|
| 11101 |
Flash
초간단 플래시테두리 없애는 방법입니다.
3
|
| 11099 |
JavaScript
직접만든 자바스크립트 Trim 함수입니다.
1
|
| 11095 | |
| 11093 | |
| 24843 | |
| 11065 | |
| 11063 | |
| 11059 |
JavaScript
PHP Ajax 프레임워크
3
|
| 29001 | |
| 11054 |
JavaScript
일반PC로 서버 만들경우....
4
|
| 28999 | |
| 11050 | |
| 28998 |
HTML
mshtml.dll error 발생시
|
| 28956 | |
| 11044 | |
| 11023 |
JavaScript
[입문자용 강좌] 상수?
20
|
| 11004 | |
| 28946 |
HTML
[입문자용강좌] 변수란?
9
|
| 10993 | |
| 10990 | |
| 28903 | |
| 10984 | |
| 24842 |
계약서
고용계약서
|
| 28900 |
HTML
marquee 태그 활용법
2
|
| 10982 | |
| 10978 |
JavaScript
실제 이미지 크기 알아내기
3
|
| 28899 | |
| 10974 |
Flash
플래쉬 투명바탕 어떻게 하는거죠?
3
|
| 10970 | |
| 24831 | |
| 24830 |
계약서
표준임대차 계약서
|
| 10967 |
JavaScript
ie,firefox alpha값
2
|
| 10965 | |
| 10963 | |
| 10956 |
JavaScript
왕초보 소스 중 질문있어요...^^;
6
|
| 10954 |
Flash
플래시 그림판 소스 입니다.
1
|
| 10950 |
Flash
[펌]겔러리에 적용하면 괜찮은 소스
3
|
| 10946 | |
| 24818 |
견적서
홈페이지 견적서입니다
11
|
| 10943 |
Flash
플래시 활성화 영역 안나오게 하기...
2
|
| 28885 |
JavaScript
외부의 이미지를 자신의 서버경로에 썸네일 만드는 방법
13
|
| 24813 | |
| 10940 | |
| 10927 |
JavaScript
포토샵질문드려요.
12
|
| 10925 |
Flash
FLEX 참고자료 URL
1
|
| 10920 |
JavaScript
이동도구(v)팁
4
|
| 10916 | |
| 10914 | |
| 10913 |
기타
FLEX 란?
|
| 10908 |
Flash
플래시 플레이어 오류발생할 때 패치
4
|
| 10905 | |
| 10904 | |
| 10899 | |
| 24803 | |
| 28882 |
HTML
링크클릭시 나타나는 점선 없애주기
2
|
| 10898 |
Flash
간단한 퀵메뉴
|
| 28878 |
기타
Ajax 마스터하기
3
|
| 28877 | |
| 24802 | |
| 24801 | |
| 24800 | |
| 24799 | |
| 10893 | |
| 10892 | |
| 24797 | |
| 24794 | |
| 10891 |
Flash
정상적인 사운드가 빠르게 재생될때
|
| 28871 |
HTML
id와 class의 차이점?
5
|
| 28870 | |
| 10881 |
MySQL
평가 표시 ★☆로 할 때
9
|
| 10872 | |
| 10870 | |
| 28868 | |
| 10868 |
JavaScript
3D 회전식 메뉴입니다. 드레그해서 붙혀서 사용해보세요
1
|
| 10866 | |
| 28862 |
HTML
Ajax로 만든 쇼핑몰입니다.
5
|
| 10864 |
기타
랜덤백그라운드
1
|
| 28861 |
HTML
마소 컬러 선택 대화상자
|
| 10863 |
기타
회원에게만 보여준다
|
| 28860 |
HTML
KOSDAQ소스
|
| 10862 |
JavaScript
ZDNet Korea레이어
|
| 28859 | |
| 28858 | |
| 10861 |
JavaScript
present[다음에서 발췌]
|
| 10859 | |
| 28856 |
HTML
클릭한 메뉴 고정하기
1
|
| 10857 |
JavaScript
클릭시 화면이 위로 올라가는 현상 막아주기
1
|
| 28854 | |
| 10856 |
기타
쿠키1년간체크
|
| 28853 |
HTML
자막파일(.smi) 싱크밀고 당기기
|
| 28852 |
JavaScript
일정시간동안 이미지 자동으로 변경하기
|
| 28851 |
HTML
이미지 파일 에러 처리
|
| 10855 |
JavaScript
이미지 미리 로딩시켜놓기
|
| 28850 |
HTML
웹로봇 배제 표준
|
| 10854 | |
| 28849 |
HTML
아이프레임하나만 새로고침하기
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기