このプログラムでは、JavaScriptの正規表現を使用して、文字列が有効な日付フォーマット(YYYY/MM/DD)であるかどうかを確認します。
日付フォーマット確認プログラム
以下のコードでは、正しい日付形式と間違った日付形式をそれぞれ検証しています。
HTMLとJavaScriptコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>日付フォーマットの確認方法(YYYY/MM/DD形式)</title>
<script>
window.onload = function() {
// 日付フォーマットを確認する関数
function validateDateFormat(date) {
// YYYY/MM/DD形式の正規表現
const datePattern = /^[0-9]{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])$/;
return datePattern.test(date); // 正規表現で日付形式を検証
}
// テスト用の日付
const validDate = "2023/09/22";
const invalidDate = "2023/13/45";
// 日付フォーマットの確認
const validResult = validateDateFormat(validDate);
const invalidResult = validateDateFormat(invalidDate);
// 結果をHTMLに表示
document.getElementById('validDateCheck').textContent = `「${validDate}」は正しい日付形式か: ${validResult}`;
document.getElementById('invalidDateCheck').textContent = `「${invalidDate}」は正しい日付形式か: ${invalidResult}`;
}
</script>
</head>
<body>
<h1>日付フォーマットの確認方法(YYYY/MM/DD形式)</h1>
<div id="validDateCheck"></div>
<div id="invalidDateCheck"></div>
</body>
</html>
プログラムの解説
このプログラムでは、正規表現を使用して日付形式が正しいかどうかを確認しています。^[0-9]{4}
は年を表し、(0[1-9]|1[0-2])
は月を、(0[1-9]|[12][0-9]|3[01])
は日の部分を検証しています。
以下は正規表現およびtest()
メソッドに関する注意点です。
- 正規表現では、
/^[0-9]{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])$/
の形式で日付を検証しています。 - このパターンでは、日付部分で30日や31日の月の違いまでは検証していないため、日付の範囲チェックは追加のロジックで対応する必要があります。
- また、
replace()
やtest()
メソッドを使用して、文字列操作やパターンマッチングを行うことが可能です。
RegExpオブジェクト メソッドの機能一覧
RegExpオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのRegExpオブジェクトは、正規表現を使用して文字列のパターンを検出、操作するためのオブジェクトです。以下に、RegExpオブジェクトのメソッドをインスタンスメソッドと静的メソッドに分け、アルファベット順にまとめています。 RegExpオブジェクトのインスタンスメソッド メソッド名 説明と注意点 ...