프로그램/Javascript

자바스크립트에서 mid 함수 구현

네오류이 2021. 1. 15. 09:21
728x90
반응형

오늘은 자바스크립트에서 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#구현#자바스크립트#함수

728x90
반응형

'프로그램 > Javascript' 카테고리의 다른 글

숫자의 정수 또는 소수점 반올림  (0) 2021.01.15
문자열의 실제 바이트 수 계산  (0) 2021.01.15
제가 쓰는 ajax 호출  (0) 2021.01.15
ajax을 디버깅하는 방법  (0) 2021.01.15
쿠키(cookie) 사용법  (0) 2021.01.15