WEB TUTORIALS
PRACTICE EXAMPLES
HTML REFERENCES
CSS REFERENCES
PHP REFERENCES
Advertisements

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:

<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:

<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.

<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:

Advertisements
Bootstrap UI Design Templates

Your Feedback:

We would love to hear from you, please drop us a line.