String Byte
문자열 바이트 단위 길이 구하기
String.prototype.bytes = function() {
var str = this;
var l = 0;
for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1;
return l;
}
문자열 바이트 단위 자르기
String.prototype.subStringByte = function(len) {
var str = this;
var l = 0;
for (var i=0; i<str.length; i++) {
l += (str.charCodeAt(i) > 128) ? 2 : 1;
if (l > len) return str.substring(0,i);
}
return str;
}
TODO
$('#sendtxt').bind('keydown keyup', function () {
var count = textLength();
if (count > 80) {
if ($.browser.msie) $(this).blur();
$(this).val($(this).val().subStringByte(80 - $('#defaultmsg').text().bytes()));
if ($.browser.msie) $(this).focus();
}
count = textLength();
$('#msgcount').text(count);
function textLength() {
var defaultMsgText = $('#defaultmsg').text();
var inputMsgText = $('#sendtxt').val();
return defaultMsgText.bytes() + inputMsgText.bytes();
}
});