오늘은 자바스크립트에서 mid 함수를 소개하겠습니다.
원래 substring 이란 함수가 있지만.. 정확한 바이트 단위의 mid 을 해야할 경우도 있기때문에 아래의 함수를 구현해야 합니다.
* 소스코드
function getByteLength( data )
{
var str = data;
var l = 0;
if( str == "") return l;
for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1;
return l;
return len;
}
function Mid(str, st, en)
{
var len = getByteLength(str);
var iEnd;
if (st < 0){
str=""; return str;
}else if( st > len ){ //시작점의 길이가 문자열의 길이보다 짧을경우
return str;
}else{
if(!en){//끝점의 값이 없을경우 시작점부터 끝점까지 리턴
iEnd = len;
}else{
// find st
var find_st = 0;
var find_cnt = 0;
var ret_str = "";
for(var in_i=0; in_i<str.length; in_i++){
find_st += (str.charCodeAt(in_i) > 128) ? 2 : 1;
if(find_st > st){
ret_str += str.charAt(in_i);
find_cnt += (str.charCodeAt(in_i) > 128) ? 2 : 1;
if(find_cnt >= en) break;
}
}
return ret_str;
}
}
return "";
}
* 사용법
var ret = Mid("abcd", 0, 2);
일반적인 C++의 CString 맴버함수와 같은 스타일로 사용하면 됩니다.
숫자값은 바이트 단위가 되고 0 부터 시작입니다.
#Mid#구현#자바스크립트#함수
'프로그램 > Javascript' 카테고리의 다른 글
숫자의 정수 또는 소수점 반올림 (0) | 2021.01.15 |
---|---|
문자열의 실제 바이트 수 계산 (0) | 2021.01.15 |
제가 쓰는 ajax 호출 (0) | 2021.01.15 |
ajax을 디버깅하는 방법 (0) | 2021.01.15 |
쿠키(cookie) 사용법 (0) | 2021.01.15 |