2009년 9월 2일 수요일

JavaScript로 원하는 위치의 문자열만 자르기

JavaScript에는 substr 이라고 하는 문자열 자르기 메서드가 존재 한다.

정의 : 지정한 위치에서 시작하고 지정한 길이를 갖는 부분 문자열을 반환한다.
문법 : sVal = String.substr(iStart,iLength)
인수/파라메터
stringVar : 문자열 개체
필수적인 요소이다. 부분 문자열을 추출할 문자열을 저장 한다.
iStart : 시작 인덱스
필수적인 요소이며, 원하는 부분 문자열의 시작 인덱스를 지정하여 주면 된다.
※ 주의 : 첫 번째 문자의 인덱스는 0 이다.
iLength : 부분 문자열 길이
선택적 요소이며, 반환될 부분 문자열의 문자 수를 나타낸다.
반환값 : sVal의 해당 부분 문자열
            iLength가 0이거나 음수면 빈 문자열 반환
참고 사이트 : http://koxo.com

##샘플##
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3 <head>
4    <title> ::substr 테스트 :: </title>
5    <script type="text/javascript">
6     unction substr()
7     {
8           var year = new Date();
9           var s = txt1.value;
10           var c = s.substr(0,4);
11           if(c != year.getFullYear())
12           {
13                 alert("입력 할 수 있는 연도가 아닙니다.");
14                 txt1.focus();
15           }
16           else
17           {
18                 alert("입력 가능한 연도 입니다.");
19                 txt2.value = c;
20           }
21      }
22     </script>
23  </head>
24  <body>
25  <input type="text" id="txt1" name="txt1" >
26  <input type="text" id="txt2" name="txt2" >
27  <input type="button" id="btn1" name="btn1"  value="체크" onclick="substr()">
28  </body>
29</html>

##설명##
8번째 줄의 var year = new Date(); 는 year라는 변수에 현재 년 월일을
가져올 수 있는 메소드를 생성 하고...(JavaScript를 잘 몰라서 일단 생성 시킨다 하고..)
9번째 줄의 var s = txt1.value();로 텍스트 박스에 입력한 값을 s라는 변수에 저장 시킨다.
10번째 줄의 var c = s.substr(0,4);는 s에 저장된 텍스트 박스의 값을 인덱스 0
그러니까 첫 번째 문자 부터 4개의 문자를 잘라서 c라는 변수에 저장 시키는 거다.
그리고 밑의 if문의 Date() 메소드에 있는 getFullYear()을 이용하여 현재 년을
가져와서 자른 문자열과 비교해서 현재 연도와 다르다면 입력 할 수 없는 연도라고
메세지를 띄운후 포커스를 다시 텍스트박스1에 위치 시킨다.
그 반대로 자른 값이 현재 년도와 같다면 텍스트박스2에 자른 문자열을 확인 하기 위해서
잘라진 문자열 c를 뿌려준다.

댓글 없음:

댓글 쓰기