Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

RegExp.prototype.test()

概要

正規表現と対象の文字列の間のマッチを調べるための検索を実行し、結果を示す真偽値 ( true / false )を返します。

構文

regexp.test('str');

引数

regexp
正規表現リテラル、または変数
str
マッチさせる正規表現文字列

説明

あるパターンがある文字列内で見つかるかどうか調べたいときに、test メソッドを使ってください(似たメソッドとして、 String.search メソッドがあります)。より多くの情報を得るためには(実行が遅くなりますが)、 exec メソッドを使ってください(似たメソッドとして、 String.match メソッドがあります)。

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) 以前では、 test() メソッドは正しく実装されていませんでした。引数無しで呼び出された場合には以前の RegExp.input プロパティの値に基づく戻り値が返されなくてはなりませんが、文字列 "undefined" に対するテスト結果を返していました。これは現行バージョンでは修正されており、現在 /undefined/.test() の戻り値はエラーでなく true となっています。

例: test メソッドの使用例

正規表現リテラルと対象文字列を引数にとり、マッチ結果により異なる文字列を表示する関数を以下に示します。

function testinput(re, str) {
  var midstring;

  if ( re.test(str) ) {
    midstring = " contains ";
  } else {
    midstring = " does not contain ";
  }

  alert(str + midstring + re.source);
}

ドキュメントのタグと貢献者

 このページの貢献者: teoli, ethertank, Fajrovulpo, Potappo, Mgjbot
 最終更新者: teoli,