mozilla
Your Search Results

    String.prototype.search()

    Summary

    The search() method executes a search for a match between a regular expression and this String object.

    Syntax

    str.search(regexp)

    Parameters

    regexp
    A regular expression object. If a non-RegExp object obj is passed, it is implicitly converted to a RegExp by using new RegExp(obj).

    Description

    If successful, search() returns the index of the first match of the regular expression inside the string. Otherwise, it returns -1.

    When you want to know whether a pattern is found in a string use search() (similar to the regular expression test() method); for more information (but slower execution) use match() (similar to the regular expression exec() method).

    Examples

    The following example logs a message which depends on the success of the test.

    function testinput(re, str) {
      var midstring;
      if (str.search(re) != -1) {
        midstring = ' contains ';
      } else {
        midstring = ' does not contain ';
      }
      console.log(str + midstring + re);
    }
    

    Specifications

    Specification Status Comment
    ECMAScript 3rd Edition. Standard Initial definition. Implemented in JavaScript 1.2.
    ECMAScript 5.1 (ECMA-262)
    The definition of 'String.prototype.search' in that specification.
    Standard  
    ECMAScript 6 (ECMA-262)
    The definition of 'String.prototype.search' in that specification.
    Release Candidate  

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

    Gecko-specific notes

    • Prior to Gecko 8.0, search() was implemented incorrectly; when it was called with no parameters or with undefined, it would match against the string 'undefined', instead of matching against the empty string. This is fixed; now 'a'.search() and 'a'.search(undefined) correctly return 0.
    • Starting with Gecko 39 (Firefox 39 / Thunderbird 39 / SeaMonkey 2.36), the non-standard flags argument is deprecated and throws a console warning (bug 1142351). This property is Gecko-only and will be removed in the future.

    See also

    Document Tags and Contributors

    Last updated by: fscholz,
    Hide Sidebar