How to check if a String Contains a Substring in JavaScript


Table of Contents


When working with strings in JavaScript, determining whether a string contains a specific substring is a common task. JavaScript offers several methods to accomplish this, each with its unique characteristics. This article will explore these methods and provide examples to illustrate their usage.

includes() Method

The includes() method is the most straightforward way to check if a string contains a substring. It returns true if the substring is found and false otherwise.


let str = "JavaScript is fun"; let substr = "Script"; console.log(str.includes(substr)); // Output: true

indexOf() Method

The indexOf() method returns the index at which the substring is found in the string, or -1 if it's not found. It's a versatile method that can also be used to determine the presence of a substring.


let str = "Learning JavaScript"; let substr = "Java"; console.log(str.indexOf(substr) !== -1); // Output: true

search() Method

This method executes a search for a match between a regular expression and a string. It returns the index of the match, or -1 if not found. This can be useful for more complex pattern matching.


let str = "Hello, World!"; let substr = "World"; console.log( !== -1); // Output: true

match() Method

match() is used to retrieve the matches when a string is matched against a regular expression. It returns an array of matches or null if no match is found.


let str = "JavaScript is great"; let substr = "is"; console.log(str.match(substr) != null); // Output: true

Regular Expression with test() Method

Regular expressions are powerful for pattern matching and can be used with the test() method to check for the presence of a substring.


let str = "Hello, world!"; let regex = /world/i; // 'i' for case-insensitive console.log(regex.test(str)); // Output: true

Using String.prototype.startsWith() and String.prototype.endsWith()

These methods are used to check if a string starts or ends with a specific substring.


let str = "Hello, world!"; let startSubstr = "Hello"; let endSubstr = "world!"; console.log(str.startsWith(startSubstr)); // Output: true console.log(str.endsWith(endSubstr)); // Output: true


Each method has its use cases and benefits. For instance, includes() and indexOf() are straightforward for simple substring checks, while regular expressions provide more flexibility and power in pattern matching. Choose the method that best fits the specific needs of your task. Remember, the right tool for the job can make your code more efficient and easier to understand.

Share this

Share on social media