
日付 regex JavaScript バリデーター
日付 regex JavaScript バリデーターを使って、DD/MM/YYYY、MM-DD-YYYY、ISO 8601 タイムスタンプなどの日付フォーマットを簡単にテスト・検証できます。フォームの構築、ログの解析、JavaScript でのデータクリーニングに最適です。パターンの実験にはJavaScript Regex テスターも、メール regex JavaScript バリデーターやIP アドレス regex JavaScript バリデーターと組み合わせてユーザーデータの完全な検証も行えます。
日付 regex JavaScript バリデーター - ドキュメント
日付 regex とは何ですか?
JavaScript において、日付用の正規表現(regex)は文字列が特定の日付フォーマットに一致するかどうかを確認するものです。フォーム、データフィルター、ログの構築において、日付の検証はユーザーが正確にデータを入力し、下流のエラーを防ぐことに役立ちます。
日付 regex は以下のようなパターンに一致します:
DD/MM/YYYY
MM-DD-YYYY
YYYY-MM-DD
ISO 8601 タイムスタンプ(例:2023-06-05T12:30:00Z)
日付検証用 JavaScript regex パターン
DD/MM/YYYY の基本的な検証に使用される regex:
/^(0[1-9]|[12][0-9]|3[01])[\/\-](0[1-9]|1[0-2])[\/\-](19|20)\d\d$/パターンの解説:
^(0[1-9]|[12][0-9]|3[01])- 日(01-31)を検証[\/\-]-/または-を区切り文字として照合(0[1-9]|1[0-2])- 月(01-12)を検証(19|20)\d\d$- 年(1900-2099)を検証
JavaScript での日付検証方法
function isValidDate(dateString) { const dateRegex = /^(0[1-9]|[12][0-9]|3[01])[\/\-](0[1-9]|1[0-2])[\/\-](19|20)\d\d$/; return dateRegex.test(dateString); }
console.log(isValidDate("25/12/2024")); // true console.log(isValidDate("2024-12-25")); // false
JavaScript の組み込み Date コンストラクターは DD/MM/YYYY 形式をネイティブに解析しません。この形式を Date オブジェクトに変換するには、まず YYYY/MM/DD に変換する必要があります。
let dateInput = "15/05/2019"; // DD/MM/YYYY
let dateArray = dateInput.split("/");
let newDate = ${dateArray[2]}/${dateArray[1]}/${dateArray[0]};
console.log(newDate); // 2019/05/15 (YYYY/MM/DD)日付の有効性を確認する方法
フォーマットと日付の実際の有効性を両方確認するには、JavaScript の Date コンストラクターと isNaN() を使用します:
function isDateValid(dateStr) { return !isNaN(new Date(dateStr)); }
console.log(isDateValid("15/05/2019")); // false (DD/MM/YYYY は認識されない) console.log(isDateValid("05/15/2019")); // true console.log(isDateValid("2019/05/15")); // true
DD/MM/YYYY フォーマットに変換する
function formatDateToDDMMYYYY(dateInput) { const dateObj = new Date(dateInput); if (isNaN(dateObj)) return "Invalid date";let day = dateObj.getDate(); let month = dateObj.getMonth() + 1; // 月は 0 から始まる const year = dateObj.getFullYear();
day = day < 10 ? "0" + day : day; month = month < 10 ? "0" + month : month;
return
${day}/${month}/${year}; }
console.log(formatDateToDDMMYYYY("2019/05/15")); // "15/05/2019"
日付の比較
const firstDate = new Date('2024-06-01'); const secondDate = new Date('2024-06-05');
console.log(firstDate < secondDate); // true console.log(firstDate > secondDate); // false
その他のパターン
ISO 8601(例:2024-06-05T12:30:00Z)
/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/MM-DD-YYYY フォーマット
/^(0[1-9]|1[0-2])--\d\d$/実際のユースケース
フォーム検証:フォームで有効な生年月日、予約日、締め切り日が入力されているか確認します。
ログ解析:JavaScript Regex テスターを使ってサーバーログから有効な日付文字列を抽出します。
データクリーニング:JavaScript ベースのデータ処理ツールで日付フォーマットを標準化します。
組み合わせをお勧めするツール
JavaScript Regex テスター - 複雑な日付パターンを素早く構築・デバッグ
メール regex JavaScript バリデーター - 日付入力と合わせてユーザー情報を検証
IP アドレス regex JavaScript バリデーター - ネットワークデータのタイムスタンプログと組み合わせ
パスワード regex JavaScript バリデーター - アカウント作成やサインアップフォームで使用
プロのヒント
JavaScript では高速な regex チェックに
String.prototype.match()または.test()を使用してください。日付の論理検証は別途行ってください(例:2 月 30 日は regex が通しても無効です)。
API とデータベースの一貫性のために ISO 8601 を使用してください。
マッチした部分を取り出す必要がない場合は非キャプチャグループ(
(?:...))を使用してください。パフォーマンスのために regex を一度コンパイルして検証関数全体で再利用してください。
Frequently Asked Questions
JavaScript regex は 31/02/2023 のような無効な日付を検出できますか?
日付 regex ではスラッシュとダッシュのどちらを使うべきですか?
[-/] を使って両方を許可してください。regex で ISO タイムスタンプを検証できますか?
Date.parse() や new Date() を使用してください。この regex は Node.js のようなバックエンドシステムで再利用できますか?
このツールで他のフォーマットの日付 regex パターンをテストできますか?
Related Articles






