String.prototype.search()
The search() method executes a search for a match between
a regular expression and this String object.
Syntax
search(regexp)
Parameters
regexp-
A regular expression object.
If a non-RegExp object
regexpis passed, it is implicitly converted to aRegExpwithnew RegExp(regexp).
Return value
The index of the first match between the regular expression and the given string, or
-1 if no match was found.
Description
When you want to know whether a pattern is found, and also know its index
within a string, use search(). (If you only want to know if it exists, use
the similar test() method on the
RegExp prototype, which returns a boolean.)
For more information (but slower execution) use match() (similar to the regular expression exec() method).
Examples
Using search()
The following example searches a string with two different regex objects to show a
successful search (positive value) vs. an unsuccessful search (-1)
let str = "hey JudE"
let re = /[A-Z]/g
let reDot = /[.]/g
console.log(str.search(re)) // returns 4, which is the index of the first capital letter "J"
console.log(str.search(reDot)) // returns -1 cannot find '.' dot punctuation
Specifications
| Specification |
|---|
| ECMAScript Language Specification # sec-string.prototype.search |
Browser compatibility
BCD tables only load in the browser