ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript を使用して「mm/dd/yyyy」形式の日付を検証する方法

JavaScript を使用して「mm/dd/yyyy」形式の日付を検証する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 03:42:28669ブラウズ

How to Validate Dates in

JavaScript での「mm/dd/yyyy」形式の日付の検証

特定の形式での日付の検証は、データの整合性と信頼性にとって非常に重要です。たとえば、「mm/dd/yyyy」形式は多くのアプリケーションで一般的に使用されており、適切な検証が必要です。次の形式で日付を検証する JavaScript 関数を調べてみましょう:

元の関数

質問で提供されたコードにはいくつかの問題があるようです。 isDate 関数は、まず日付文字列の長さをチェックし、適切なスラッシュが含まれていることを確認します。次に、文字列から月、日、年を抽出し、年の範囲を検証します。

ただし、主な問題は、計算されたミリ秒を Date オブジェクトから取得した日付部分と比較することにあります。この方法では、日付文字列が無効な場合にエラーが発生する可能性があります。

簡略化されたアプローチ

次の関数は、「mm/dd/yyyy」の日付を検証するためのより簡単で信頼性の高い方法を提供します。 format:

<code class="javascript">function isValidDate(dateString) {
    // Validate the pattern
    if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString)) {
        return false;
    }

    // Parse the date parts
    const parts = dateString.split("/");
    const day = parseInt(parts[1], 10);
    const month = parseInt(parts[0], 10);
    const year = parseInt(parts[2], 10);

    // Check the month and year ranges
    if (year < 1000 || year > 3000 || month === 0 || month > 12) {
        return false;
    }

    // Consider leap years
    const monthLengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) {
        monthLengths[1] = 29;
    }

    // Validate the day in the context of the month
    return day > 0 && day <= monthLengths[month - 1];
}</code>

使用法とエラー処理

この関数を使用するには、日付文字列を引数として渡すだけです。日付が「mm/dd/yyyy」形式で有効な場合は true を返し、無効であるか、必要な形式を満たしていない場合は false を返します。

ユーザーに警告するかエラーを表示することで、検証エラーを適切に処理します。メッセージ。これにより、有効な日付のみがアプリケーションで処理されるようになります。

以上がJavaScript を使用して「mm/dd/yyyy」形式の日付を検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。