icon
icon

JavaScriptのswitch文で正規表現を使う方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptのswitch文で正規表現を使う方法について現役エンジニアが解説しています。switch文とはif文と同様によく使われる条件式で、ケースバイケースで処理を分けることができます。case句に正規表現を使うこともできます。switch文で正規表現を使う方法や書き方を解説します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

JavaScriptのswitch文で正規表現を使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptのswitch文で正規表現を使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

switch文とは

if文と同様によく使われる条件式ですね。イメージとしては、似たような条件がいくつかある時に使われる感じを持たれているかと思います。例えば、入力項目がどのフルーツかで処理を分ける場合などですね。

var fruit = "banana";

switch (val) {
  case "banana":
    console.log("バナナジュース")
    break;
  case "strawberry":
    console.log("イチゴケーキ")
    break;
  case "apple":
    console.log("リンゴパイ")
    break;
  default:
    console.log("フルーツサラダ")
    break;
  }

ここで注意しないといけないのは、「break」文が入っているところです。

if文は、条件に合った処理を終えると、そのif文から抜けることになります。しかし、switch文は条件に合った処理を終えると次の条件の処理も実行してしまいます。その為、処理が終わったところで、switch文を抜けるために「break」文を利用しています。

[PR] フロントエンドで副業する学習方法を動画で公開中

正規表現とは

「正規表現」だけで一冊の本ができるほど、その内容は奥深いので、一言で表現するのはなかなか難しいのですが、「文字列を一定のパターンで表記する方法」といった感じでしょうか?

よくある利用ケースは、文章の中から一定の条件で書かれている情報を抜き出したり、設定ファイルから設定項目と情報を抜き出したり、などと利用用途は多岐にわたります。

testメソッドとは

testメソッドは、正規表現のパターンに付けて、確認したい文字列を引数にして一致するかをチェックできます。書き方は

/正規表現パターン/.test(対象文字)

という感じです。返り値は、一致すれば”true”が返却されます。

switch文で正規表現を使う方法

先ほどの正規表現をswitch文と組み合わせることで、入力された文字の検査を行い条件によって分岐するような処理を書くことが出来ます。書き方としては、switchの後の式には”true”を記載し、caseの後にtestを用いた条件を記載します。

switch (true) {
 case /正規表現パターン/.test(検査文字):
 処理;
 break;
 default:
 ;
 break;
}

 

実際に書いてみよう

では、実際にswitch文で正規表現を使ったものを作成してみましょう。

<html>
<script>
  //switch文で正規表現
  var val = "090-1234-5678";


  switch (true) {
    case /[0-9]{3}-[0-9]{3}-[0-9]{4}/.test(val):
      console.log("入力内容は電話番号です。")
      break;

    case /[0-9]{3}-[0-9]{4}$/.test(val):
      console.log("入力内容は郵便番号です。")
      break;


    default:
      console.log("入力内容はわかりません。")
      break;
  }

</script>
</html>

 

1時間でできる無料体験!

まとめ

いかがだったでしょうか?WEBシステムでは、ユーザーに入力をお願いすることなどもあるかと思います。そのようなときに入力内容のチェックなどにも利用できるかと思います。

筆者プロフィール

小宮山晃史(こみやまこうじ)

現在はOracle系システムの導入コンサルに勤め、仕事でコーディングをする機会は少なくなくなっているが、ライフワークで数多くの言語を勉強中。

iphoneのアプリ開発やWEBサーバの構築など幅広く挑戦しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。