JavaScriptのtest()メソッドとは?使い方をサンプル付きで解説
JavaScriptのtest()メソッドは、正規表現(RegExp)に属するメソッドの一つです。対象となる文字列の中に、指定したパターンが存在するかどうかを検索し、その結果に応じてtrueまたはfalseのブール値を返します。パターンが見つかればtrue、見つからなければfalseとなります。また、test()メソッドは大文字と小文字を区別するという重要な特徴を持っています。ここでは、実際のコード例を使いながら、test()メソッドの使い方を詳しく見ていきましょう。
基本構文
test()メソッドは、以下のように正規表現リテラルに対して呼び出して使用します。
/パターン/.test(検索対象の文字列)
例1:パターンが存在する場合
次の例では、「Tutorix is the best e-learning platform」というテキストに対して、「Tu」というパターンが含まれているかどうかをチェックしています。テキスト内に「Tu」が存在するため、test()メソッドはtrueを返します。
<html>
<body>
<p id="text">Tutorix is the best e-learning platform</p>
<p id="test"></p>
<script>
var text = document.getElementById("text").innerHTML;
document.getElementById("test").innerHTML = /Tu/.test(text);
</script>
</body>
</html>
出力結果
Tutorix is the best e-learning platform true
例2:大文字・小文字の違いによる判定
続いて、「tu」(小文字)というパターンが同じテキストに含まれているかどうかを確認してみます。テキストを見ると「Tu」(大文字)は存在しますが、小文字の「tu」は存在しません。test()メソッドは大文字と小文字を厳密に区別するため、この場合の戻り値はfalseになります。
<html>
<body>
<p id="text">Tutorix is the best e-learning platform</p>
<p id="test"></p>
<script>
var text = document.getElementById("text").innerHTML;
document.getElementById("test").innerHTML = /tu/.test(text);
</script>
</body>
</html>
出力結果
Tutorix is the best e-learning platform false
まとめ
test()メソッドは、正規表現パターンが文字列内に存在するかどうかを手軽に判定できる便利なメソッドです。フォームの入力値バリデーションや特定キーワードの検出など、さまざまな場面で活用できます。なお、大文字・小文字を区別せずにマッチさせたい場合は、正規表現に「i」フラグ(例:/tu/i.test(text))を付けることで対応可能です。
-
JavaScriptのexec()メソッドとは?正規表現での文字列検索の使い方を解説
exec()メソッドとはexec()は、JavaScriptの正規表現(RegExp)メソッドの一つです。文字列の中から指定したパターンを検索し、マッチしたテキストをオブジェクトとして返します。同じく正規表現メソッドであるtest()がtrue/falseという真偽値を返すのに対し、exec()はマッチした文字列や位置などの詳細情報を持つオブジェクトを返す点が大きな違いです。パターンが見つからなかった場合はnullが返されます。戻り値のオブジェクトには、obj[0]でマッチした文字列そのものを、obj.indexで文字列内のマッチ開始位置(インデックス番号)を取得できます。例1:パターン「es
-
JavaScriptのWeakMapでclear()メソッドを使う方法とは?
WeakMapのclear()メソッドとはWeakMapオブジェクトのclear()メソッドは、そのWeakMapに格納されているすべてのキーと値のペアを一括で削除するためのメソッドです。しかし、このメソッドは現在のECMAScriptの仕様からは削除されています。そのため、標準のWeakMapに対して直接clear()を呼び出すことはできません。とはいえ、WeakMapオブジェクトをラップするクラスを作成し、clear()メソッドに対応した処理を追加することで、同様の機能を簡単に実現できます。実装例:clear()メソッドを持つWeakMapラッパークラスclass ClearableWea