Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

String.prototype.search()

概要

search() 方法执行一个查找,看该字符串对象与一个正则表达式是否匹配。

语法

str.search(regexp)

参数

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

描述

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

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

示例

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

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. Standard Initial definition.
Implemented in JavaScript 1.2
ECMAScript 5.1 (ECMA-262)
String.prototype.search
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
String.prototype.search
Standard  

浏览器兼容性

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)

Gecko-specific notes

  • Prior to Gecko 8.0, 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.

相关链接

文档标签和贡献者

 此页面的贡献者: AlexChao, teoli
 最后编辑者: AlexChao,