자바에서는 bytes 로 변환하여 문자열을 핸들링할 수 있지만 java script 에서는 getBytes 메소드가 없어서 곤란하다. 완벽하지는 않지만 비슷하게 동작하는 substring 함수를 만들어 보았다.
이 코드는 X-Platform 이라는 UI툴에서 작성된 예제이므로 일반 표준 java script 와는 문법이 다를 수 있다.
<2012-01-05>
이 코드는 X-Platform 이라는 UI툴에서 작성된 예제이므로 일반 표준 java script 와는 문법이 다를 수 있다.
function Button02_onclick()
{
trace( fn_subString( edt_inputval00.value, Edit00.value, Edit01.value ));
}
// 문자열의 길이를 구하는 함수
function fn_strlen(str) {
var len = 0;
for(var i=0;i<str.length;i++) {
len += (str.charCodeAt(i) > 128) ? 2 : 1;
}
return len;
}
// 문자열에서 시작위치와 길이를 주면 substring 하여 리턴한다.
function fn_subString(str,start,size) {
var lim = 0;
var pos = 0;
var beg = 0;
var minus = 0;
var len = fn_strlen(str);
// 시작위치까지 skip하는 로직
for(var i=0;pos<start;i++) {
pos += (str.charCodeAt(i) > 128) ? 2 : 1;
}
beg = i;
// 시작위치에서 길이만큼 잘라내는 로직
for (var i=beg; i<len; i++) {
lim += (str.charCodeAt(i) > 128) ? 2 : 1;
if (lim > size) {
return str.substring(beg,i);
}
}
}
{
trace( fn_subString( edt_inputval00.value, Edit00.value, Edit01.value ));
}
// 문자열의 길이를 구하는 함수
function fn_strlen(str) {
var len = 0;
for(var i=0;i<str.length;i++) {
len += (str.charCodeAt(i) > 128) ? 2 : 1;
}
return len;
}
// 문자열에서 시작위치와 길이를 주면 substring 하여 리턴한다.
function fn_subString(str,start,size) {
var lim = 0;
var pos = 0;
var beg = 0;
var minus = 0;
var len = fn_strlen(str);
// 시작위치까지 skip하는 로직
for(var i=0;pos<start;i++) {
pos += (str.charCodeAt(i) > 128) ? 2 : 1;
}
beg = i;
// 시작위치에서 길이만큼 잘라내는 로직
for (var i=beg; i<len; i++) {
lim += (str.charCodeAt(i) > 128) ? 2 : 1;
if (lim > size) {
return str.substring(beg,i);
}
}
}
<2012-01-05>
'컴퓨터활용 > 자바' 카테고리의 다른 글
JEUS 에서 MSSQL 서버 JDBC 연결 (0) | 2012.03.14 |
---|---|
서버 CPU 개수 구하는 jsp (2) | 2012.03.13 |
javacore 파일 찾기 (0) | 2012.02.25 |
jsp 에서 unix 명령 실행하기 (1) | 2008.08.01 |
java script 로 페이지를 auto reload 시키기 (0) | 2008.04.28 |