JavaScript 문자열 검색

문자열을 검색하는 JavaScript 메서드:

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() 메서드는 문자열에서 지정된 텍스트의 위치를 반환합니다.첫 번째발생한 (위치)의 인덱스:

예제

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate")    // 반환 7

직접 시도해 보세요

JavaScript는 0부터 위치를 계산합니다.

0은 문자열의 첫 번째 위치, 1은 두 번째, 2는 세 번째......

String.lastIndexOf()

lastIndexOf() 메서드는 지정된 텍스트가 문자열에서 가장 마지막으로 나타나는 위치를 반환합니다:

예제

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate")    // 21번 위치 반환

직접 시도해 보세요

텍스트를 찾지 못하면indexOf() 그리고 lastIndexOf() 두 번째는 -1을 반환합니다:

예제

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("Bill")    // -1 반환

직접 시도해 보세요

이 두 메서드는 두 번째 파라미터를 검색 시작 위치로 받습니다:

예제

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate", 15)    // 21번 위치 반환

직접 시도해 보세요

lastIndexOf() 메서드는 마지막으로부터 앞으로 검색합니다(끝에서 시작), 즉 두 번째 파라미터가 15그렇다면 위치 15에서 시작하여 문자열의 시작까지 검색합니다。

예제

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate", 15)    // 7번 위치 반환

직접 시도해 보세요

String.search()

search() 메서드는 문자열에서 지정된 값을 검색하고 매치 위치를 반환합니다:

예제

let str = "Please locate where 'locate' occurs!";
str.search("locate")     // 7번 위치 반환

직접 시도해 보세요

알아보셨나요?

indexOf() 그리고 search() 이 두 메서드는 같습니까?

그들은 같은 파라미터를 받고 같은 값을 반환합니다?

이 두 메서드는 같지 않습니다. 차이점은 다음과 같습니다:

  • search() 메서드는 두 번째 시작 위치 파라미터를 받을 수 없습니다。
  • indexOf() 메서드는 강력한 검색 값(정규 표현식)을 사용할 수 없습니다。

정규 표현식에 대한 더 많은 내용을 나중 장에서 배웁니다。

String.match()

match() 메서드는 정규 표현식을 문자열에서 매치 항목을 검색하고, 매치 항목을 Array 객체로 반환합니다。

예제 1

문자열에서 "ain"을 검색합니다:

The rain in SPAIN stays mainly in the plain
text.match(/ain/g)    // 배열 [ain,ain,ain] 반환

직접 시도해 보세요

JS RegExp 장에서 정규 표현식에 대한 더 많은 내용을 배웁니다。

정규 표현식이 g 접미사를 포함하지 않는 경우 (전체 검색을 수행합니다), match() 메서드는 문자열에서 첫 번째 매치 항목만 반환합니다。

문법

string.match(regexp)
regexp 필수입니다. 검색할 값은 정규 표현식입니다。
반환: 배열이며, 매치 항목이 포함되어 있으며, 매치 항목은 각 항목에 대응하며, 매치 항목이 없다면 null입니다。

예제 2

대상 "ain"에 대하여 대소문자 구분 없이 전체 검색을 수행합니다:

The rain in SPAIN stays mainly in the plain
text.match(/ain/gi)   // 반환 배열 [ain, AIN, ain, ain]}

직접 시도해 보세요

String.includes()

문자열이 지정된 값을 포함하면includes() 메서드는 true를 반환합니다。

예제

let text = "Hello world, welcome to the universe.";
text.includes("world")    // 반환 true

직접 시도해 보세요

브라우저 지원

Internet Explorer는 String.includes()를 지원하지 않습니다。

크롬 IE 파이어폭스 사파리 오페라
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
2015년 3월 2015년 7월 2015년 8월 2015년 10월 2015년 3월

문법

string.includes(searchvalue, start)
searchvalue 필수. 검색할 문자열을 필요합니다.
start 선택 사항. 기본值为 0. 검색 시작 위치.
반환: 문자열이 해당 값을 포함하면 반환 true이렇지 않으면 반환 false.
JS 버전: ES6 (2015)

문자열이 "world"를 포함하는지 확인합니다,12번 위치에서 검색 시작:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // 반환 false

직접 시도해 보세요

String.startsWith()

문자열이 지정된 값으로 시작하면 startsWith() 메서드는 반환 true이렇지 않으면 반환 false

예제

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // 반환 true

직접 시도해 보세요

문법

string.startsWith(searchvalue, start)

파라미터 값

파라미터 설명
searchvalue 필수.
start 선택 사항. 기본值为 0. 검색 시작 위치.

예제

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // 반환 false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // 반환 false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // 반환 true

직접 시도해 보세요

주의:startsWith() 메서드는 대소문자를 구분합니다.

인터넷 익스플로러는 지원하지 않습니다 startsWith() 메서드.

제일 먼저 완전히 지원하는 브라우저 버전은:

크롬 IE 파이어폭스 사파리 오페라
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
2015년 3월 2015년 7월 2015년 8월 2015년 10월 2015년 3월

String.endsWith()

문자열이 지정된 값으로 끝나면 endsWith() 메서드는 반환 true이렇지 않으면 반환 false

예제

문자열이 "Gates"로 끝나는지 확인합니다:

var text = "Bill Gates";
text.endsWith("Gates")    // 반환 true

직접 시도해 보세요

문법

string.endsWith(searchvalue, length)

파라미터 값

파라미터 설명
searchvalue 필수.
length 선택 사항. 검색할 길이.

"world"로 끝나는 문자열의 앞 11개 문자를 검색합니다:

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // true를 반환

직접 시도해 보세요

주의:endsWith() 메서드는 대소문자를 구분합니다.

인터넷 익스플로러는 지원하지 않습니다 endsWith() 메서드.

이 메서드를 완벽히 지원하는 첫 번째 브라우저 버전은:

크롬 IE 파이어폭스 사파리 오페라
크롬 51 에지 15 파이어폭스 54 사파리 10 오페라 38
2016년 5월 2017년 4월 2017년 6월 2016년 9월 2016년 6월

전체 문자열 참조서

전체 참조를 필요로 하시면 다음을 방문해 주세요. JavaScript 문자열 참조서.

이 가이드는 모든 문자열 속성 및 메서드의 설명과 예제를 포함하고 있습니다.