-------------- 예제 소스 ------------------------------
<script language="JavaScript">
function splitStr(str)
{
var arr = str.split( /\+|\-/g );
var ret = "";
for(var i = 0; i<arr.length; i++)
ret += arr[i] + ", ";
outbox.value = ret;
}
</script>
<input type="text" name="box">
<input type="button" value="숫자만분리" onclick="splitStr(box.value)">
<textarea name="outbox"></textarea>
---------------------------------------------------
str.split(/\+|\-/g); 메서드의 인자(구분자)로 정규식구문을 집어 넣었습니다.
정규식구문은 두개의 슬래시(/)기호 사이에 작성합니다.
+ - 등은 정규식구문중 특수한 역할을 하는 것들이므로 문자열에서 +, - 같은 기호문자들을
검색할때는 앞에 \ 를 붙여 해당 기호문자들을 이스케이프해줍니다. | 는 or 연산자이구요.
g는 해당패턴을 문자열에서 검색할때 해당패턴이 한번이 되었든 몇번이 되었든 간에
문자열의 끝까지 검색하겠다는 뜻입니다. 즉... 문자열의 끝까지 나타나는 + 또는 - 기호를
split 메서드의 인자(구분자)로 지정하겠다는 뜻입니다.
다른것은 더 설명드릴 필요가 없겠군요... +, -, /, * 등의 네 연산자 모두를 적용하려면
str.split(/\+|\-|\*|\//g); 이 되겠지요?
<script>
v_string = "52landom2_this10003s.jpg";
head = v_string.replace(/^(.*[^0-9])?([0-9]+)([^0-9]+)?$/,"$1");
body = v_string.replace(/^(.*[^0-9])?([0-9]+)([^0-9]+)?$/,"$2");
tail = v_string.replace(/^(.*[^0-9])?([0-9]+)([^0-9]+)?$/,"$3");
</script>
head - >52landom2_this
body - >10003
tail - >s.jpg
*설명:
/ / 사이에 패턴을 입력
^ 처음문자
$ 끝나는 문자
[0-9] 0부터 9까지
[^0-9] 0부터9까지를 제외한
[a-zA-Z] 영어 소,대문자
? 있을수도 있고 없을수도 있는 문자
+ 적어도 1개이상의 문자
. 아무문자
* 여러문자
등등
패턴에 맞는것을 지정하는걸로 바꾼다
$1 첫번째 괄호
$2 두번째 괄호
.
.
'IT_Programming > JavaScript' 카테고리의 다른 글
Script : 새창으로 게시물 올리기 (0) | 2007.02.13 |
---|---|
JAVASCRIPT의 고급팁 (0) | 2007.01.21 |
Scroll to Bottom of a Div (0) | 2006.11.04 |
동적으로 테이블 다루기 (0) | 2006.11.04 |
[스크랩] 시간포멧함수 ":"제거함수 (0) | 2006.10.16 |