The search()
method executes a search for a match between a regular expression and this String
object.
String.prototype.search()
Try it
Syntax
search(regexp)
Parameters
-
regexp
-
A regular expression object.
If a non-RegExp object
regexp
is passed, it is implicitly converted to aRegExp
withnew 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
Browser compatibility
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | Deno | Node.js | |
search |
1
|
12
|
1
|
4
|
4
|
1
|
1
|
18
|
4
|
10.1
|
1
|
1.0
|
1.0
|
0.10.0
|
flags |
No
|
No
|
1-49
|
No
|
No
|
No
|
No
|
No
|
4-49
|
No
|
No
|
No
|
No
|
No
|
See also
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search