[javascript] 문자열에 문자열이 포함되어있는지 확인하는 방법 - 문자열 검색

자바스크립트에서 문자열에 특정 문자열이 포함되어 있는지 확인하는 함수는 indexOf(), includes() 두 가지입니다.

사용 방법은 단순하지만 사용 방법은 조금 달라서 용도도 조금 다릅니다.

string.indexOf('찾는문자열')

문자열에서 찾는 문자열의 위치(인덱스)를 정수 값으로 반환합니다. 일치하는 문자열이 없으면 -1을 반환합니다.

찾는 문자열이 있는지만을 확인하려면 다음처럼 if문으로 조건 체크를 해야 합니다.

let string = "You have everything!";
let substring = "every";
if(string.indexOf(substring) !== -1){
    //찾는 문자열이 있음
}

indexOf() 함수는 대소문자를 구분합니다. string.indexOf('Every')로 검색하면 -1이 반환됩니다. 대소문자 구분없이 검색하려면 다음처럼 toLowerCase() 함수, 또는 toUpperCase() 함수로 대문자, 또는 소문자로 변환해서 검색을 해야 합니다.

if(string.toLowerCase().indexOf(substring.toLowerCase()) !== -1){
    console.log('있음');
}

string.includes('찾는문자열')

indexOf() 함수로 문자열을 검색하면 시작 위치 인덱스, 또는 -1이 반환되기 때문에 if 조건문으로 문자열이 존재 여부를 확인할 때는 -1이 아닌지 확인해야 합니다.

includes() 함수는 찾는 문자열이 있는지 여부만을 true/false 로 반환합니다.

let string = "You have everything!";
let substring = "every";
if(string.includes(substring)){ //true
    //찾는 문자열이 있음
}

includes() 함수 또한 대소문자를 구분합니다.

검색 시작 위치 제한

indexOf(), includes() 함수는 두 번째 파라미터를 선택적으로 사용할 수 있습니다. 두 번째 파라미터는 문자열에서 일치 비교를 시작하는 인덱스 위치를 나타냅니다.

다음은 문자열의 11번째 문자부터 "찾는문자열"과 비교를 시작합니다. 따라서 일치하는 결과가 없게 됩니다.

if(string.includes(substring, 10)){ //true
    console.log('있음');
}

[javascript] 문자열 찾기 총정리
문자열을 찾는 방법은 다양한 메서드를 사용할 수 있습니다. indexOf()와 lastIndexOf() 메서드는 문자열의 시작 위치를 찾아주며, includes() 메서드는 문자열이 포함되었는지 여부를 판단합니다. charAt() 메서드는 특정 위치의 문자를 반환하고, match() 메
[javascript] 자바스크립트 문자열에 검색어가 있는지 찾기. indexOf()와 contains() 메서드 활용.
자바스크립트의 indexOf() 메서드는 문자열에서 검색어의 위치를 찾아주는 기능입니다. 에러가 나지 않도록 시작 위치를 인덱스로 넘겨주고, 검색어가 있는 경우에는 해당 위치의 인덱스를 반환합니다. 만약 검색어가 없을 경우에는 -1을 반환합니다. 또한, 문자열에 특정 클래스가 있는지 확