.search()

正規表現と文字列オブジェクト間でマッチ検索を行います。

文法

str.search(regexp)
引数 説明
regexp 正規表現オブジェクトを指定します。 もし正規表現では無いオブジェクトobjが渡されたとすると、 new RegExp(obj)が暗黙的に使用されることによって、 RegExpに変換されます。

説明

成功すると、searchは文字列内で最初に正規表現にマッチした箇所のインデックスを返します。 もしマッチするものが無ければ-1を返します。

文字列内にパターンが見つかるかどうかを知る際に、searchを使用します。 (正規表現のtestメソッドに似ています。) より詳細な情報を取得する(ただし、実行速度は遅くなります)には、 match(正規表現のexecに似ています。)を使用します。

例

searchの使用例

下記の例は、testの成否によるメッセージをログ出力します。

function testinput(re, str){
  var midstring;
  if (str.search(re) != -1){
    midstring = " contains ";
  } else {
    midstring = " does not contain ";
  }
  console.log (str + midstring + re);
}

仕様

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本 ◯ ◯ ◯ ◯ ◯
モバイル
機能 Android Chrome for
Android
Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本 ◯ ◯ ◯ ◯ ◯ ◯

Gecko固有の注意事項

Gecko 8.0以前では、search()は不適切な実装がされており、 引数無し、またはundefinedで呼び出されると、 空文字列に対してマッチする代わりに、"undefined"文字列に対してマッチします。 現在は修正され、"a".search()と"a".search(undefined)は正しく0を返します。

関連項目

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。