Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
test() は RegExp インスタンスのメソッドで、正規表現と指定された文字列を照合するための検索を実行します。一致があった場合は true を、それ以外の場合は false を返します。
JavaScript の RegExp オブジェクトは global または sticky フラグ(/foo/g や /foo/y など)を設定するとステートフルになります。これらは前回一致したときの lastIndex を格納します。これを内部的に使用することで、 test() を使用して文字列の複数の照合を反復処理することができます(キャプチャグループを使用)。
正規表現と照合する文字列。すべての値は文字列に変換されますので、これを省略したり undefined を渡したりすると test() は文字列 "undefined" を検索するようになります。
正規表現と指定した文字列 str の間に一致するものがあった場合は、true。そうでない場合は、false。
あるパターンがある文字列内で見つかるかどうか調べたいときは、 test() を使用してください。 test() は論理値を返します。これは (一致した場所のインデックス番号、または見つからない場合は -1 を返す) String.prototype.search() メソッドとは異なります。
より多くの情報を得るためには (実行が遅くなりますが)、 exec() メソッドを使用してください (String.prototype.match() メソッドと同様)。
exec() と同様に (またはその組み合わせで)、 test() は同じグローバル正規表現インスタンスで複数回呼び出されると、前回の一致の先に進むことになります。
"hello" が文字列の先頭近くに含まれているかを論理値で確認する簡単な例です。
次の例では、テストの成否によってメッセージを表示します。
正規表現にグローバルフラグが設定されている場合、 test() は正規表現が所有する lastIndex の値を加算します。(RegExp.prototype.exec() も同様に lastIndex プロパティの値を加算します。)
その後にさらに test(str) を呼び出すと、 str を lastIndex から検索します。 lastIndex プロパティは test() が true を返すたびに増え続けます。
メモ: test() が true を返す限り、 lastIndex は別な文字列をテストした場合であっても、リセットされません。
test() が false を返した場合、正規表現の lastIndex プロパティを呼び出すと 0 にリセットされます。
次の例はその挙動を示しています。
| ECMAScript® 2027 Language Specification # sec-regexp.prototype.test |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年11月10日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.