코드 복사 코드는 다음과 같습니다. //총 문자 수 가져오기<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> 코드 복사 코드는 다음과 같습니다. function mb_strlen(str) { var len = 0; for(var i = 0; i < str.length; i ) { len = str.charCodeAt(i) < 0 || str.charCodeAt(i) > ? (문자 집합 == 'utf-8' ? 3 : 2) : 1; } return len;} 이미 입력했습니다: