반응형
/** * string String::cutByte(int len) * 글자를 앞에서부터 원하는 바이트만큼 잘라 리턴합니다. * 한글의 경우 2바이트로 계산하며, 글자 중간에서 잘리지 않습니다. */ String.prototype.cutByte = function(len) { var str = this; var count = 0; for(var i = 0; i < str.length; i++) { if(escape(str.charAt(i)).length >= 4) count += 2; else if(escape(str.charAt(i)) != "%0D") count++; if(count > len) { if(escape(str.charAt(i)) == "%0A") i--; break; } } return str.substring(0, i); } /** * bool String::byte(void) * 해당스트링의 바이트단위 길이를 리턴합니다. (기존의 length 속성은 2바이트 문자를 한글자로 간주합니다) */ String.prototype.byte = function() { var str = this; var length = 0; for(var i = 0; i < str.length; i++) { if(escape(str.charAt(i)).length >= 4) length += 2; else if(escape(str.charAt(i)) == "%A7") length += 2; else if(escape(str.charAt(i)) != "%0D") length++; } return length; }
출처 : http://wyseburn.tistory.com/
반응형
'프로그래밍 > JavaScipt' 카테고리의 다른 글
javascript datediff 날짜차이계산함수 (0) | 2016.04.27 |
---|---|
javascript get date time (0) | 2016.03.28 |
javascript yyyy-mm-dd datediff (0) | 2016.03.28 |
javascript 천단위(3자리) 콤마찍기&소수점제외 (0) | 2016.03.23 |
javascript 숫자만 입력받기 (0) | 2015.07.09 |