ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で「mm/dd/yyyy」形式の日付文字列を検証するにはどうすればよいですか?

JavaScript で「mm/dd/yyyy」形式の日付文字列を検証するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 12:54:02486ブラウズ

How to Validate Date Strings in

JavaScript で「mm/dd/yyyy」形式の日付文字列を検証する

日付文字列を検証することは、さまざまな環境で正確なデータ処理を保証するために重要です。アプリケーション。使用される一般的な形式の 1 つは「mm/dd/yyyy」です。次のガイドでは、JavaScript を使用してこの特定の形式で日付を検証する方法について説明します。

問題のあるコード

日付の特定のコード スニペットで複数のユーザーが問題に遭遇しました。検証。提供されたコードは、正しいパターンをチェックし、日付部分を抽出し、その有効性を検証します。ただし、次の理由により失敗する可能性があります:

  • 月の処理が一貫していない: コードは、JavaScript の 0 から始まる月のインデックスを調整するために、抽出された月の値から 1 を減算します。ただし、正確な月表現を保証するために、Date() で値を使用する前に 1 を減算する必要があります。
  • 不明瞭なエラー処理: このコードは、理由に関する具体的な詳細を提供せずに、一般的なエラー メッセージのみを出力します。日付の検証に失敗しました。

検証関数の改訂

これらの問題に対処するために、次のように検証関数を改訂できます:

<code class="javascript">function isValidDate(dateString) {
  // Regex pattern checking for "mm/dd/yyyy" format
  if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString)) return false;

  // Extracting date parts as integers
  const [month, day, year] = dateString.split("/").map(Number);

  // Checking valid year and month ranges
  if (year < 1000 || year > 3000 || month < 1 || month > 12) return false;

  // Determining the number of days in the specified month
  const monthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) monthDays[1] = 29;

  // Verifying the day value within the month's range
  return day > 0 && day <= monthDays[month - 1];
}</code>

エラー処理の改善

より有益なエラー メッセージを提供するために、より詳細な説明を返す特定の条件を追加できます。

<code class="javascript">switch (isValidDate(dateString)) {
  case false:
    alert("Invalid date format.");
    break;
  case "invalidPattern":
    alert("The date pattern should be 'mm/dd/yyyy'.");
    break;
  case "invalidDateParts":
    alert("One or more date parts are invalid.");
    break;
  case "invalidYear":
    alert("Invalid year value.");
    break;
  case "invalidMonth":
    alert("Invalid month value.");
    break;
  case "invalidDay":
    alert("Invalid day value.");
    break;
}</code>

この改訂された検証関数を使用することにより、エラー処理の改善により、JavaScript アプリケーションの日付を「mm/dd/yyyy」形式で正確かつ有益に検証できるようになります。

以上がJavaScript で「mm/dd/yyyy」形式の日付文字列を検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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