<script>//총 문자 수 가져오기<BR>function getChars(str) {<BR> var i = 0;<BR> var c = 0.0;<BR> var unicode = 0;<BR> var len = 0;<BR> if (str == null || str == "") {<BR> return 0;<BR> }<BR> len = str.length;<BR> for(i = 0; i < len; i ) {<BR> unicode = str.charCodeAt(i);<BR> if (unicode < 127) { //단일 문자인지 이중 문자인지 확인<BR> c = 1; <BR> } else { //중국어<BR> c = 2;<BR> }<BR> }<BR> return c;<BR>}<BR>function sb_strlen(str) {<BR> return getChars(str );<BR>}<BR>/ /문자 가로채기<BR>function sb_substr(str, startp, endp) {<BR> var i=0; c = 0; var len = str.length;<BR> var sblen = sb_strlen(str);<BR> if (startp < 0) {<BR> startp = sblen startp;<BR> }<BR> if (endp < 1 ) {<BR> endp = sblen endp; // - ((str.charCodeAt(len-1) < 127) ? 1 : 2);<BR> }<BR> // 시작점 찾기<BR> (i = 0; i < len; i ) {<BR> if (c >= startp) {<BR> break;<BR> }<BR> var unicode = str.charCodeAt(i);<BR> if (unicode < 127) {<BR> c = 1;<BR> } else {<BR> c = 2;<BR> }<BR> }<BR> // <BR> 복용 시작 for(i = i; i < len; i ) {<BR> var unicode = str.charCodeAt(i);<BR> if (unicode < 127) {<BR> c = 1;<BR> } else {<BR> c = 2;<BR> }<BR> rstr = str.charAt(i);<BR> if (c >= endp) {<BR> break;<BR> }<BR> }<BR> return rstr ;<BR>}<BR>//호출 예시 :<BR>function getShortFileName(filename) {<BR> short_filename = filename;<BR> if (sb_strlen(short_filename) > 61) {<BR> short_filename = sb_substr( short_filename, 0, 36) ' ... ' sb_substr (short_filename, -20);<BR> }<BR> return short_filename;<BR>}<BR>var chara = '니 너 2 너무 좋아! '<BR>js_self = chara.substr(4);<BR>test = sb_substr(chara,4);<BR>alert("js_self:" js_self "ext:" test);<BR></script>
function mb_strlen(str) {
var len = 0;
for(var i = 0; i len = str.charCodeAt(i) ? (문자 집합 == 'utf-8' ? 3 : 2) : 1;
}
return len;
}