Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengesahkan Tarikh dalam Format \"mm/dd/yyyy\" Menggunakan JavaScript?

Bagaimana untuk Mengesahkan Tarikh dalam Format \"mm/dd/yyyy\" Menggunakan JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 03:42:28668semak imbas

How to Validate Dates in

Mengesahkan Tarikh dalam Format "mm/dd/yyyy" dalam JavaScript

Mengesahkan tarikh dalam format tertentu adalah penting untuk integriti dan kebolehpercayaan data. Sebagai contoh, format "mm/dd/yyyy" biasanya digunakan dalam banyak aplikasi dan memerlukan pengesahan yang betul. Mari terokai fungsi JavaScript untuk mengesahkan tarikh dalam format ini:

Fungsi Asal

Kod yang disediakan dalam soalan nampaknya mempunyai beberapa isu. Fungsi isDate mula-mula menyemak panjang rentetan tarikh dan memastikan ia mempunyai garis miring yang sesuai. Ia kemudian mengeluarkan bulan, hari dan tahun daripada rentetan dan mengesahkan julat tahun.

Walau bagaimanapun, masalah utama terletak pada membandingkan milisaat yang dikira dengan bahagian tarikh yang diperoleh daripada objek Tarikh. Pendekatan ini terdedah kepada ralat jika rentetan tarikh tidak sah.

Pendekatan Ringkas

Fungsi berikut menawarkan kaedah yang lebih mudah dan boleh dipercayai untuk mengesahkan tarikh dalam "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>

Penggunaan dan Pengendalian Ralat

Untuk menggunakan fungsi ini, anda hanya boleh menghantar rentetan tarikh sebagai hujah. Ia mengembalikan benar jika tarikh itu sah dalam format "mm/dd/yyyy" dan palsu jika ia tidak sah atau tidak memenuhi format yang diperlukan.

Kendalikan sebarang ralat pengesahan dengan bijak dengan memaklumkan pengguna atau memaparkan ralat mesej. Ini memastikan bahawa hanya tarikh yang sah diproses dalam permohonan anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Tarikh dalam Format \"mm/dd/yyyy\" Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn