How to Check Whether a String Contains a Substring in JavaScript
Topic: JavaScript / jQueryPrev|Next
Answer: Use the indexOf()
Method
The simplest and fastest way to check whether a string contains a substring or not in JavaScript is the indexOf()
method. This method returns the index or position of the first occurrence of substring within the string, otherwise, it returns -1 if no match found. Here is an example:
Example
Try this code »<script>
// Sample string
var str = "The quick brown fox jumps over the lazy dog."
// Check if the substring exists inside the string
var index = str.indexOf("fox");
if(index !== -1){
alert("Substring found!");
} else{
alert("Substring not found!");
}
</script>
In ES6 you can use the includes()
method to check if a contains a substring. This method simply returns true
or false
instead of the index. Let's check out an example:
Example
Try this code »<script>
// Sample string
var str = "The quick brown fox jumps over the lazy dog."
// Check if string contains substring
if(str.includes("fox")){
alert("Substring found!");
} else{
alert("Substring not found!");
}
</script>
Check out the tutorial on JavaScript ES6 features to learn about new features introduced in ES6.
Further, you can use the search()
method to search a particular piece of text or pattern (using regular expression) inside a string. Like indexOf()
method the search()
method also returns the index of the first match, and returns -1 if no matches were found.
Example
Try this code »<script>
// Sample string
var str = "Color red looks brighter than color blue."
// Search the string for a match
var index = str.search(/color/i);
if(index !== -1){
alert("Substring found!");
} else{
alert("Substring not found!");
}
</script>
Related FAQ
Here are some more FAQ related to this topic: