【JavaScript ECMAScript】RegExp::RegExp.prototype.testインスタンスメソッドの使い方
RegExp.prototype.test()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
RegExp.prototype.test()メソッドは、指定された文字列が正規表現パターンにマッチするかどうかを判定し、その結果を真偽値で返すメソッドです。このメソッドは、JavaScriptにおいて正規表現パターンを表現するRegExpオブジェクトのインスタンスに対して呼び出されます。
具体的には、test()メソッドは引数として検索対象の文字列を一つ取ります。メソッドが実行されると、呼び出し元のRegExpオブジェクトに定義されたパターンが、その引数文字列の中に存在する(マッチする)かどうかを調べます。もし文字列のどこかにパターンと一致する部分が見つかった場合、メソッドはtrue(真)を返します。反対に、文字列のどこにもパターンと一致する部分が見つからなかった場合は、false(偽)を返します。
このメソッドは、入力されたデータが特定の形式に合致するかどうかを確認するバリデーション処理や、文字列の中から特定のキーワードやパターンが手軽に存在するかを判断したい場合に非常に便利です。例えば、ユーザーが入力したメールアドレスの書式が正しいかをチェックしたり、パスワードが指定された文字数や種類の条件を満たしているかを検証する際などに活用されます。
なお、正規表現にグローバルフラグ(gフラグ)が設定されている場合、test()メソッドを複数回呼び出すと、検索が前回のマッチ箇所の直後から再開されるという挙動があります。これは、RegExpオブジェクトのlastIndexプロパティが更新されるためです。毎回文字列の最初から検索を行いたい場合は、test()を呼び出す前にlastIndexプロパティを0にリセットするか、グローバルフラグのない正規表現を使用する、または新しいRegExpオブジェクトを作成するなどの対応が必要となる点に留意してください。
構文(syntax)
1const regex = /pattern/; 2regex.test("string to test");
引数(parameters)
str
- str: string: テスト対象の文字列
戻り値(return)
boolean
引数として与えられた文字列が、この正規表現にマッチするかどうかを示す真偽値を返します。マッチした場合は true、マッチしなかった場合は false を返します。