JavaScript에서 문자열 포함 여부 확인하기
JavaScript에서는 search() 메서드를 사용하여 문자열에 특정 부분 문자열(substring)이 포함되어 있는지 확인할 수 있습니다. 이 메서드는 검색된 위치의 인덱스를 반환하며, 일치하는 결과가 없으면 -1을 반환합니다.
아래 예제 코드를 실행하면 문자열 "Tutorialspoint: Free Video Tutorials"에 부분 문자열 "point"가 포함되어 있는지 확인할 수 있습니다.
예제 코드
<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
var re = "point";
var str = "Tutorialspoint: Free Video Tutorials";
if ( str.search(re) == -1 ) {
document.write("Does not contain Point" );
} else {
document.write("Contains Point!" );
}
</script>
</body>
</html>출력 결과
Contains Point!
동작 원리
위 코드에서 str.search(re)는 문자열 내에서 "point"가 처음 나타나는 위치의 인덱스를 반환합니다. 만약 부분 문자열이 존재하지 않으면 -1을 반환하므로, 이 값을 비교하여 포함 여부를 판단할 수 있습니다.
더 간단한 방법: includes() 메서드
ES6(ES2015)부터는 includes() 메서드를 사용하는 것이 더 권장됩니다. 이 메서드는 불리언 값(true/false)을 직접 반환하기 때문에 코드가 더욱 간결하고 가독성이 높습니다.
var str = "Tutorialspoint: Free Video Tutorials";
var result = str.includes("point");
console.log(result); // true또한 정규 표현식이 필요한 경우에는 match() 메서드나 test() 메서드를 활용할 수도 있습니다. 상황에 맞는 적절한 방법을 선택하여 사용하시기 바랍니다.