문자열을 byte 체크하여 해당 길이(byte)로 자르는 예제 입니다.
UTF-8 에서는 한글이 3바이트로 처리 되어 해당 부분에 3byte로 계산 하였습니다.
(신규로 재작성 하였습니다. 여기서 확인해 보세요. http://huskdoll.tistory.com/534)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <html> <head> <title>Test</title> <script language="javascript"> function cutStr(str, limit){ var strLength = 0; var strTitle = ""; var strPiece = ""; for (i = 0; i < str.length; i++){ var code = str.charCodeAt(i); var ch = str.substr(i,1).toUpperCase(); //체크 하는 문자를 저장 strPiece = str.substr(i,1) code = parseInt(code); if ((ch < "0" || ch > "9") && (ch < "A" || ch > "Z") && ((code > 255) || (code < 0))){ strLength = strLength + 3; //UTF-8 3byte 로 계산 }else{ strLength = strLength + 1; } if(strLength>limit){ //제한 길이 확인 break; }else{ strTitle = strTitle+strPiece; //제한길이 보다 작으면 자른 문자를 붙여준다. } } alert(strTitle); } </script> </head> <body> <input name="ins" type="button" value="클릭" onClick="cutStr('대한민국ab', 10);"><!-- 대한민국ab 을 10byte 로 자름 --> </body> </html> |
javascript 화면 캡쳐 (0) | 2016.03.14 |
---|---|
AngularJS (0) | 2016.01.19 |
날짜 검색 범위 정하기 (jquery) (0) | 2015.09.10 |
웹 학습 (0) | 2015.08.31 |
jQuery Selector (셀렉터) (0) | 2015.08.11 |
댓글 영역