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:
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.
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>
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!