
문자열 객체는 문자형 데이터를 객체로 취급하는것으로, 자바스크립트에서
가장 많이 사용한다. 즉, 문자형 데이터 == 문자열 객체이다.
문자형 데이터는 배열과 마찬가지로 첫 번째 글자부터 인덱스 번호를 0번부터 부여받는다.
이 인덱스 번호를 이용하면 특정 문자 구간을 잘라내거나 특정 문자를 추가하는 등
다양하게 활용할 수 있다.
[기본형]
var 참조변수 = '문자형데이터'; (= var 참조변수 = new String('문자형데이터');)
1.charAt(index)★ : 문자열에서 인덱스 번호에 해당하는 '문자'를 반환한다.
2.indexOf('찾을 문자') ★
: 문자열 왼쪽부터 찾을 문자와 일치하는 문자를 찾아서 제일 먼저 일치하는 문자의
인덱스 번호를 반환한다. 만약 일치하는 문자가 없으면 -1을 반환한다.
3.lastIndexOf('찾을 문자')★
: 문자열 왼쪽부터 찾을 문자와 일치하는 문자를 찾아서 제일 먼저 일치하는 문자의 인덱스
번호를 반환한다. 만약 일치하는 문자가 없으면 -1을 반환한다.
4.match('찾을 문자')
: 문자열 왼쪽부터 찾을 문자와 일치하는 문자를 찾아서 제일 먼저 일치하는 문자의 인덱스
번호를 반환한다. 만약 일치하는 문자가 없으면 null을 반환하지만 코드짜기가 어렵기때문에 잘 쓰지는 않는다.
5.replace('바꿀 문자', '새 문자')★
:문자열 왼쪽부터 바꿀 문자와 일치하는 문자를 찾아서 제일 먼저 찾은 문자를 새 문자로
치환한다.
6.search('찾을 문자')
:문자열 왼쪽부터 찾을 문자와 일치하는 문자를 찾아서 제일 먼저 일치하는 문자의 인덱스
번호를 반환한다. 하지만 일치하지 않았을 때 아무것도 반환해주지 않기 때문에
잘 쓰이진 않는다.
7.slice(a, b)
:a개의 문자를 자르고 b번째 문자를 자른 후 남은 문자를 반환함. 잘 안쓰임.
8.substring(a,b)★
:a인덱스 구간부터 b인덱스 앞에 있는 문자까지를 반환함.
9.substr(a, 문자갯수)
: 문자열에서 a 인덱스부터 지정한 문자 갯수만큼 잘라 문자열을 반환한다.
10.split('문자'))★
: 지정한 문자를 기준으로 문자 데이터를 나눠 배열에 저장하여 반환함.
11.toLowerCase()
:문자열 안에 있는 대문자를 모두 소문자로 바꾼다.
12.toUpperCase()
:문자열 안에 있는 소문자를 모두 대문자로 바꾼다.
13.length
:문자열에서 문자의 개숫를 반환한다. 공백과 기호도 포함.
14.concat('새로운 문자')
:문자열에 새로운 문자를 결합한다.
15.charCodeAt(index)
:문자열 index에 해당하는 아스키 코드값을 반환함.
16.fromCharCode(아스키코드값)
:아스키 코드값에 해당하는 문자를 반환함. 구글에 아스키 코드값 검색해서 확인할 수 있다.
17.trim()★
:문자의 앞이나 뒤에 붙은 공백 문자열을 삭제한다.
예시)
var str = "hello world"; //각 문자와 공백은 인덱스 번호로 구분되어 있다.
var str = "ddfgfgf@naver.com"; //만약 사용자가 이메일을 입력할 때 @의 인덱스 번호에 따라 유효성 검사를 한다.
var str = "Hello Thank you good luck to you";
document.write(str.charAt(16), "<br>"); // g
document.write(str.indexOf("you"), "<br>"); //12
document.write(str.lastIndexOf("you"), "<br>"); //29
문자열 인덱스 16번부터 뒤에 나오는 you의 인덱스 값을 반환함.
document.write(str.indexOf("you", 16), "<br>"); //29
document.write(str.lastIndexOf("you", 25), "<br>"); //12
document.write(str.replace("you", "me"), "<br>"); //Hello Thank me good luck to you
document.write(str.substring(6, 12), "<br>"); //Thank
document.write(str.toUpperCase(), "<br>"); //HELLO THANK YOU GOOD LUCK TO YOU
var result = str.split(" "); // 공백을 기준으로 나눠서 담음. 공백을 기준으로 문자를 잘라서 배열로 반환함.
document.write(result[0], "<br>");
document.write(result[2], "<br>");
document.write(str.length, "<br>"); //공백을 포함하여 32개의 문자가 들어있다.\
document.write(str.trim());