【JavaScript入門】testメソッドで文字列を正規表現でチェックする

こんにちは!エンジニアの中沢です。

JavaScriptには文字列を正規表現でチェックするための「testメソッド」があります。

正規表現でパターンを指定して文字列の検索ができるので、上手く活用してください。

この記事では、

・正規表現とは
・testメソッドとは
・testメソッドの使い方

という基本的な内容から、

・文字列の検索総まとめ
・文字列の操作総まとめ

などの応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、testメソッドのさまざまな使い方をわかりやすく解説します!

正規表現とは

正規表現は、特殊な文字を組み合わせて「パターン」を作ることで、そのパターンに適合した特定の文字を検出することができるようになります。

いきなりですが、次の例を見てください。

恐らく、意味不明な文字の羅列にしか見えないと思いますが、実は、このパターンは「郵便番号」を表しています。

郵便番号(123-4567)の組み合わせパターンというのは…

「3桁の数値」「-(ハイフン、ない場合もある)」「4桁の数値」

このような形式が一般的なわけですが、先程の正規表現はまさにこのパターンを表した文字列ということになります。

例えば、HTMLフォームなどでユーザーに郵便番号を入力してもらう時に、正しく入力されているかをチェックするプログラムは、先程の正規表現を使うと非常に簡単なコードで実現します。

変数「postcode」に郵便番号が格納されているので、これに「match()」を使って正規表現を当てはめるだけで、正しい郵便番号なのかどうかをチェックすることが可能になります。

ちなみに、正規表現を使わずにプログラムしようとすれば、非常に複雑なコードになり、バグも発生しやすくなります。

主な正規表現の記号と意味については以下の表の通りです。

記号記号の説明例の説明
.任意の1文字。改行文字は除く。.+任意の文字列
*直前の1文字の0回以上の繰り返しと一致hoge*hogeもしくはhogee...と一致
^行の先頭^[0-9]行頭が数字
$行の末尾^.{10}$10文字の行
[ ]カッコ内の任意の1文字と一致。「-」で範囲指定可。[a-z]小文字のアルファベット1文字と一致
[^ ]カッコ内の任意の1文字と不一致。「-」で範囲指定可。[^A-Z]大文字のアルファベット以外
+直前の文字の1個以上の繰り返しと一致hoge+hogee...と一致
?直前の文字が0個または1個の場合に一致hoge?hogeもしくはhogと一致
{ }カッコ内の数値の繰り返しと一致{n}直前の文字のn個の繰り返しと一致
同上{,n}直前の文字のn個以下の繰り返しと一致
同上{m,}直前の文字のm個以上の繰り返しと一致
同上{m,n}直前の文字のm個以上、n個以下の繰り返しと一致
|直前、直後どちらかのパターンに一致hoge|piyohogeまたはpiyo
( )カッコ内をグループ化。マッチした内容は参照可。

正規表現の使い方はこちらの記事で詳しく解説しているので、ぜひ確認してください。

【JavaScript入門】4つのパターンで理解する正規表現の使い方まとめ!
更新日 : 2019年4月23日

testメソッドとは

testメソッドは文字列を正規表現でチェックするために使います。

指定した文字列が正規表現のパターンにマッチすれば「true」を返し、マッチしなければ「false」を返します。

testメソッドの使い方

ここでは、「test」を使った検索方法を解説します。

testは正規表現のパターンから呼び出し、引数にチェックする文字列を指定します。

次のプログラムで確認してみましょう。

実行結果:

このようにして、testを使って正規表現で文字列のチェックができました。

文字列の検索総まとめ

文字列を検索する様々な方法はこちらの記事で詳しく解説しているので、ぜひ確認してください。

【JavaScript入門】文字列の検索まとめ(indexOf/search/match/test)
更新日 : 2019年4月24日

文字列の操作総まとめ

文字列を操作する様々な方法はこちらの記事で詳しく解説しているので、ぜひ確認してください。

JavaScriptの文字列操作(置換・連結・検索・比較など)を徹底解説!
更新日 : 2019年4月7日

まとめ

いかがでしたか?

今回はtestメソッドで文字列をチェックする方法を解説しました。

正規表現でパターンを指定して文字列の検索ができるので、ぜひ活用してくださいね。

もし、testメソッドの使い方を忘れてしまったらこの記事を確認してください!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説