JavaScript で「mm/dd/yyyy」形式の日付を検証する
「mm/dd/」形式の日付を検証しようとする場合yyyy" に提供されたコードを使用すると、問題が発生する可能性があります。考えられるエラーを分析し、より信頼性の高い解決策を提供しましょう。
元の関数は、入力文字列が目的の形式と一致するかどうかを確認し、指定された値から Date オブジェクトを作成しようとします。ただし、入力日付と Date オブジェクトから計算された部分の間に不一致があり、誤った検証が行われる可能性があります。
検証関数の改善
これに対処するには、より堅牢な検証関数を利用できます:
<code class="javascript">function isValidDate(dateString) { // Validate Format if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString)) return false; // Parse Date Components const parts = dateString.split("/"); const day = parseInt(parts[1], 10); const month = parseInt(parts[0], 10); const year = parseInt(parts[2], 10); // Check Range of Month and Year if (year < 1000 || year > 3000 || month < 1 || month > 12) return false; // Adjust for Leap Years const monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; if ((year % 400 === 0) || ((year % 100 !== 0) && (year % 4 === 0))) { monthLength[1] = 29; } // Check Valid Day Range return day > 0 && day <= monthLength[month - 1]; }</code>
この関数は、形式のチェック、個々のコンポーネントの解析、月と年の範囲の有効性の評価、およびうるう年を考慮して有効な値を決定することにより、日付文字列を徹底的に検証します。日の範囲
以上がJavaScript で「mm/dd/yyyy」形式の日付を確実に検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。