Difference between match() and search() in JavaScript

This post is published to provide information about the two methods of JavaScript, that are used to perform searches. That two methods are:

match() Vs. search()

The search() method is used when we need to find the index of first match. Whereas the match() method is used when we need to find all matches in the form of arrays where each elements indicates to each match. For example:

HTML with JavaScript Code
<!DOCTYPE html>
<html>
<body>

   <p>Using search(): <b><span id="one"></span></b></p>
   <p>using match(): <b><span id="two"></span></b></p>

   <script>
      let myString = "Python is Fun. JavaScript is Fun. PHP is Fun.";

      document.getElementById("one").innerHTML = myString.search(/is/g);
      document.getElementById("two").innerHTML = myString.match(/is/g);
   </script>
   
</body>
</html>
Output

Using search():

using match():

The g in /is/g stands for global is a regular expression modifier, used to find all matches.

Basically, when our approach is only to check if a search pattern is available in the string?
Then use search() method. Otherwise use match() method.

The search() method does the job faster than match() because it stops after the first match, whereas match() continue searching for all matches.

JavaScript Online Test


« Previous Tutorial Next Tutorial »