JavaScript & HTML
javascript 문자열 byte 자르기 (글자 크기, 글자 길이)
husks
2016. 1. 6. 16:34
반응형
문자열을 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> |
반응형