JavaScript에서 문자열이 특정 문자열을 포함하는지 확인하는 방법에 대해 소개합니다. 방법이 다양하므로 로직에 적합한 함수를 사용하면 되겠습니다.
※ 함수의 성능은 브라우저마다 다릅니다.
ECMAScript 6부터 지원하는 includes 함수
includes
함수는 ECMAScript 6부터 지원하므로 일부 환경에서는 실행이 안될 수 있습니다.
특정 문자열이 존재하면 true를 반환하며, 존재하지 않으면 false를 반환합니다.
str.includes(searchString[, position])
searchString
- 검색하고자 하는 문자열입니다.
position
- 검색 시작 위치이며, 생략할 경우 시작 위치는 0으로 설정됩니다.
includes
함수는 대소문자를 구분합니다.
var str = 'JavaScript and Java';
// str에 'Java'가 존재하는지 체크합니다.
console.log(str.includes('Java'));
// true
// str의 15번째 위치부터 검색합니다.
console.log(str.includes('Java', 15));
// true
// str의 16번째 위치부터 검색합니다.
console.log(str.includes('Java', 16));
// false
indexOf 함수
indexOf
함수는 특정 문자열이 존재하면 첫 번째 index를 반환하며, 존재하지 않으면 -1을 반환합니다.
만약, 동일한 문자열이 여러 개 존재하는 경우 검색 시작 위치에서 가장 가까운 index를 반환합니다.
str.indexOf(searchValue[, fromIndex])
searchValue
- 검색하고자 하는 문자열입니다.
fromIndex
- 검색 시작 위치이며, 생략할 경우 시작 위치는 0으로 설정됩니다.
- 매개변수의 값이 문자열의 길이(str.length
)보다 크거나 같다면, 문자열을 검색하지 않고 -1을 반환합니다.
indexOf
함수는 대소문자를 구분합니다.
var str = 'JavaScript and Java';
// str에 'Java'가 존재하는지 체크합니다.
console.log(str.indexOf('Java'));
// 0
// str의 15번째 위치부터 검색합니다.
console.log(str.indexOf('Java', 15));
// 15
// str의 16번째 위치부터 검색합니다.
console.log(str.indexOf('Java', 16));
// -1
// 두 번째 매개변수가 문자열 str의 길이보다 이상일 경우입니다.
console.log(str.indexOf('Java', 20));
// -1
문자열이 특정 문자열로 시작을 하는지 체크하는 startsWith 함수
startsWith
함수는 문자열이 특정 문자열로 시작하는지 체크하는 함수입니다.
지정된 문자열로 시작하면 true를 반환하며, 그렇지 않을 경우 false를 반환합니다.
str.startsWith(searchString[, position])
searchStaring
- 검색하고자 하는 문자열입니다.
position
- 검색 시작 위치이며, 생략할 경우 시작 위치는 0으로 설정됩니다.
startsWith
함수는 대소문자를 구분합니다.
var str = 'JavaScript and Java';
// 대소문자를 체크합니다.
console.log(str.startsWith('java'));
// false
// str의 시작 문자열이 'Java'입니다.
console.log(str.startsWith('Java'));
// true
// str의 15번째 위치부터 검색합니다.
console.log(str.startsWith('Java', 15));
// true
// str의 16번째 위치부터 검색합니다.
console.log(str.startsWith('Java', 16));
// false
문자열이 특정 문자열로 끝나는지 체크하는 endsWith 함수
endsWith
함수는 문자열이 특정 문자열로 끝나는지 체크하는 함수입니다.
지정된 문자열로 끝나면 true를 반환하며, 그렇지 않을 경우 false를 반환합니다.
str.endsWith(searchString[, length])
searchString
- 검색하고자 하는 문자열입니다.
length
- 처음 위치(index 0번째)에서 검색할 문자열의 길이입니다.
- 생략할 경우 기본 값은 문자열의 길이(str.length
)입니다.
- 문자열의 길이를 초과하는 경우 문자열의 길이(str.length
)로 설정됩니다.
endsWith
함수는 대소문자를 구분합니다.
var str = 'JavaScript and Java';
// 대소문자를 구분합니다.
console.log(str.endsWith('java'));
// false
// str의 마지막 문자열이 'Java'로 끝나는지 체크합니다.
console.log(str.endsWith('Java'));
// true
// str의 0번째 시작위치에서 검색할 문자열의 길이를 10으로 설정합니다.
console.log(str.endsWith('Java', 10));
// false
// str의 0번째 시작위치에서 검색할 문자열의 길이를 25로 설정합니다.
// str.length를 초과했으므로 두 번째 매개변수는 str의 length로 설정됩니다.
console.log(str.endsWith('Java', 25));
// true
'JavaScript > JavaScript 문법' 카테고리의 다른 글
[JavaScript]문자열 공백 제거 방법 (0) | 2021.08.19 |
---|---|
[JavaScript]객체에 프로퍼티가 존재하는지 체크하는 방법 (0) | 2021.08.19 |
[JavaScript]Map 객체 (0) | 2021.08.17 |
[JavaScript]배열에서 특정 조건을 만족하는지 체크하는 some 함수 (0) | 2021.08.17 |
[JavaScript]변수 선언과 호이스팅(Hoisting) (0) | 2021.08.17 |
댓글