string.search

string.search

search() 方法执行正则表达式和 String对象之间的一个搜索匹配。

语法

str.search(regexp)

参数

regexp一个正则表达式(regular expression)对象。如果传入一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象。

返回值

如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引。否则,返回 -1。

描述

当你想要知道字符串中是否存在某个模式(pattern)时可使用 search,类似于正则表达式的test方法。当要了解更多匹配信息时,可使用match(会更慢),该方法类似于正则表达式的exec方法。

示例

例子:使用 search

下例记录了一个消息字符串,该字符串的内容取决于匹配是否成功。

var str = "hey JudE"; var re = /[A-Z]/g; var re2 = /[.]/g; console.log(str.search(re) // returns 4, which is the index of the first capital letter "J" console.log(str.search(re2) // returns -1 cannot find '.' dot punctuation

规范

SpecificationStatusComment
ECMAScript 3rd Edition (ECMA-262)StandardInitial 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 Latest Draft (ECMA-262)The definition of 'String.prototype.search' in that specification.Living Standard

浏览器兼容性

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
flagsNoNo(Yes) — 49NoNoNo

FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
flagsNoNoNoNoNoNoNo