자바스크립트 입력한 글자 byte 체크

<script language=JavaScript>
/**
* 한글을 2바이트 씩 계산하여 입력받은 문자열이 DB에 저장될 때 총 몇바이트를 차지하는지 계산한다.
* 엔터(\r\n)는 2바이트를 차지한다.
* @param val : 입력받은 문자열
*/
function cal_length(val)
{
// 입력받은 문자열을 escape() 를 이용하여 변환한다.
// 변환한 문자열 중 유니코드(한글 등)는 공통적으로 %uxxxx로 변환된다.

var temp_estr = escape(val);
var s_index = 0;
var e_index = 0;
var temp_str = "";
var cnt = 0;

// 문자열 중에서 유니코드를 찾아 제거하면서 갯수를 센다.
while ((e_index = temp_estr.indexOf("%u", s_index)) >= 0) // 제거할 문자열이 존재한다면
{
temp_str += temp_estr.substring(s_index, e_index);
s_index = e_index + 6;
cnt ++;
}

temp_str += temp_estr.substring(s_index);
temp_str = unescape(temp_str); // 원래 문자열로 바꾼다.

// 유니코드는 2바이트 씩 계산하고 나머지는 1바이트씩 계산한다.
return ((cnt * 2) + temp_str.length) + "";
}
</script>

출처 : http://redqueen.textcube.com/5
이올린에 북마크하기(0) 이올린에 추천하기(0)
top


http://www.joon.pe.kr/blog/trackback/320


<< Prev   1   ... 27   28   29   30   31   32   33   34   35   ... 336   Next >>