Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 문자열에 특정 텍스트가 포함되어 있는지 확인하는 방법

JavaScript에서 문자열 포함 여부 확인하기

JavaScript에서 문자열 안에 특정 텍스트가 존재하는지 확인하려면 search() 메서드를 사용할 수 있습니다. 이 메서드는 문자열 내에서 지정한 정규식 또는 검색 패턴과 일치하는 부분을 찾아, 일치하는 위치의 인덱스를 반환합니다.

만약 일치하는 텍스트를 찾지 못하면 -1을 반환하기 때문에, 반환값이 -1인지 아닌지를 비교하여 문자열 포함 여부를 판단할 수 있습니다.

search() 메서드 사용 예제

다음 코드는 "Tutorialspoint: Free Video Tutorials"라는 문자열에 "Free Video"라는 텍스트가 포함되어 있는지 확인하는 예제입니다.

<html>
   <head>
      <title>JavaScript String search() Method</title>
   </head>
   <body>
      <script>
         var re = "Free Video";
         var str = "Tutorialspoint: Free Video Tutorials";
         if ( str.search(re) == -1 ) {
            document.write("Does not contain" );
         } else {
            document.write("Contains" );
         }
      </script>
   </body>
</html>

실행 결과

위 코드를 실행하면 문자열에 "Free Video"가 포함되어 있으므로 다음과 같이 출력됩니다.

Contains

참고: includes() 메서드 활용

ES6(ES2015)부터는 더욱 직관적인 includes() 메서드를 사용할 수도 있습니다. 이 메서드는 문자열이 특정 텍스트를 포함하고 있으면 true, 그렇지 않으면 false를 반환합니다.

var str = "Tutorialspoint: Free Video Tutorials";
console.log(str.includes("Free Video")); // true
console.log(str.includes("Paid Video")); // false

단순히 포함 여부만 확인할 때는 가독성이 좋은 includes()를, 일치하는 위치(인덱스)가 필요하거나 정규식 기반의 복잡한 검색이 필요할 때는 search()를 사용하는 것이 좋습니다.