String.prototype.search

概要

対象の String オブジェクトと正規表現との間のマッチを調べるための検索を実行します。

String のメソッド
実装されたバージョン JavaScript 1.2
ECMAScript エディション ECMAScript 3rd Edition

構文

string.search(regexp)

引数

regexp
正規表現 (RegExp) オブジェクト。 RegExp オブジェクトではないオブジェクト obj が渡された場合、内部的に new RegExp(obj) が用いられ、 RegExp オブジェクトに暗黙的に変換されます。

説明

成功した場合、その文字列内で正規表現が見つかったインデックスを返します。失敗した場合、-1 を返します。

あるパターンが文字列において見つかるかどうかを知りたい場合、 search メソッドを使用してください(同様のメソッドとして、 RegExp.test メソッドがあります)。より多くの情報が欲しい場合は、(実行速度が遅くなりますが) match メソッドを使用してください(同様のメソッドとして、RegExp.exec メソッドがあります)。

Gecko 8.0 note
(Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5)

Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5) より古いバージョンでは search() は正しく実装されておらず、引数無しまたは undefined で呼び出した場合、空文字ではなく文字列の "undefined" にマッチしていました。これは現在は修正されており、"a".search() 及び "a".search(undefined) は正しく 0 を返します。

テストが成功したかどうかのメッセージを出力する関数の例を以下に示します。

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

Document Tags and Contributors

Contributors to this page: Potappo, ethertank, Mgjbot
最終更新者: ethertank,