The search() method executes a search for a match between a regular expression and this String object.
str.search(regexp)
regexpobj is passed, it is implicitly converted to a RegExp by using new RegExp(obj).The index of the first match between the regular expression and the given string; if not found, -1.
When you want to know whether a pattern is found and also its index in a string use search() (if you only want to know it exists, use the similar test() method, which returns a boolean); for more information (but slower execution) use match() (similar to the regular expression exec() method).
search()
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);
}
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.2. |
| ECMAScript 5.1 (ECMA-262) The definition of 'String.prototype.search' in that specification. | Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'String.prototype.search' in that specification. | Standard | |
| ECMAScript 2017 Draft (ECMA-262) The definition of 'String.prototype.search' in that specification. | Draft |
| 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) |
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.flags argument is deprecated and throws a console warning (bug 1142351).flags argument is no longer supported in non-release builds and will soon be removed entirely (bug 1245801).flags argument is no longer supported (bug 1108382).
© 2005–2017 Mozilla Developer Network and individual 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