--- title: Symbol.search slug: Web/JavaScript/Reference/Global_Objects/Symbol/search translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/search ---
{{JSRef}}

Symbol.search 指定了一个搜索方法,这个方法接受用户输入的正则表达式,返回该正则表达式在字符串中匹配到的下标,这个方法由以下的方法来调用 {{jsxref("String.prototype.search()")}}。

更多信息请参见 {{jsxref("RegExp.@@search", "RegExp.prototype[@@search]()")}} 和{{jsxref("String.prototype.search()")}}.

{{js_property_attributes(0,0,0)}}

案例

自定义字符串搜索

class caseInsensitiveSearch {
  constructor(value) {
    this.value = value.toLowerCase();
  }
  [Symbol.search](string) {
    return string.toLowerCase().indexOf(this.value);
  }
}

console.log('foobar'.search(new caseInsensitiveSearch('BaR')));
// expected output: 3

规范

Specification Status Comment
{{SpecName('ES2015', '#sec-symbol.search', 'Symbol.search')}} {{Spec2('ES2015')}} 规范中定义的几个部分
{{SpecName('ESDraft', '#sec-symbol.search', 'Symbol.search')}} {{Spec2('ESDraft')}}

浏览器兼容性

{{Compat}}

参见