JavaScriptのtest関数と正規表現でバリデーションチェックを行う

最近JavaScriptでバリデーションをチェックを行ったのですが、今後も使いそうなので、よく使いそうなバリデーションチェックをまとめておきます。
test関数
test関数の使い方は簡単で、下記の形式でチェックするテキストを引数として渡してあげると、合致する場合はtrue、しない場合はfalseを返してくれます。
正規表現.test(チェックするテキスト)引数として渡すのは、正規表現ではなくチェックするテキストなので、逆にしないように注意が必要です。
実際に使うときには正規表現とチェックするテキストは変数にして下記のようにします。
// 正規表現
let regex = /^\d*$/;
// チェックするテキスト
let str = 'sample';
// マッチしたときに処理を走らせる
if( regex.test(str) ){
console.log('チェックする文字列と正規表現が一致');
}!をつけて、マッチしないときにreturn falseで処理を終わらせるという使い方も多そうです。
if( !regex.test(str) ){
return false
}バリデーションチェックでよく使いそうな正規表現
バリデーションチェックでよく使いそうな正規表現をいくつかまとめました。
スニペットツールなどで保存して、すぐペーストできるようにしておくと便利です。
メールアドレス
メールアドレスのexample@example.comの形式かどうかチェックしたい場合は、下記の正規表現を使います。
let regex = /^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/;数字のみ
数字のみをチェックしたい場合は、下記の正規表現を使います。
let regex = /^\d*$/;電話番号
「000-0000-0000」のように、3桁・4桁・4桁のハイフン区切りの数字をチェックしたい場合は下記の正規表現を使います。
数字の桁数を変えたい場合は{}内の数字を変えて、ハイフンを変えたい場合は正規表現内の「-」を別の文字にすればOKです。
let regex = /^\d{3}-\d{4}-\d{4}$/;半角英数字のみ
パスワードなどで半角英数字のみのチェックをしたい場合は、下記の正規表現を使います。
let regex = /^[0-9a-zA-Z]*$/


JetpackでのError during WebSocket handshakeの解決方法
常時SSL化の設定をしたのに「保護された通信」が表示されない時はパスにHTTPが残っているのかも?
Vue CLIをインストールしたのに「command not found: vue」と表示されてしまう場合の対処法
Visual Studio Codeで連番を入力する拡張機能「vscode-input-sequence」
gitignoreで特定ファイルをGitで無視する方法
HTML・CSSでWebサイト制作を行う際に必要なツール
ブラウザでこれ以上スクロールできない場合の挙動を制御する「overscroll-behavior」プロパティ
WordPressのデータを取得できるWP REST APIの使い方
さくらのレンタルサーバで.htaccessが原因で500エラーになってしまう場合のチェックリスト
SourceTreeのカスタムアクションを使って差分ファイルだけをまとめる方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう