String.search() Find a match with a regex

Last updated: 2026-10-13

String.search() Find a match with a regex

search finds the first match of a regex and returns its start index, or -1. It ignores the global flag g — use matchAll to get every match.

CategoryStrings
ES versionES3 (1999)

📝 Syntax

string.search(regexp);

⚙️ Parameters

regexpA regular expression; a string is coerced into one.

Returns:Start index of the first match, or -1.

Mutates the original:No (returns a new value)

▶ Example

Edit the code, press Run, and see the result in the output panel:

Output:

20
0
-1
20
ℹ️ info It returns only an index, not the matched text — use match or exec for results.
⚠️ Warning The g flag has no effect on search (per spec) — unlike match. A common trap.

🌐 Browser support

Browser ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
String.search() ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v4
Supported by all modern browsers
More case studies coming soon — check back later.

📚 Related Tutorials

❓ FAQ

Qsearch vs indexOf?
Asearch accepts a regex (and flags); indexOf takes plain strings but is faster.
QWhy is search(/x/g) the same as search(/x/)?
AThe spec makes search ignore g; it always returns the first match. Use matchAll for all.
QHow do I get the matched text?
Asearch gives no match text — use str.match(/\d/) or /\d/.exec(str).
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏