Mengesahkan Kesahihan Contoh Tarikh dalam JavaScript
Menentukan kesahihan contoh Tarikh dalam JavaScript boleh mencabar. Mari kita terokai masalah "tarikh tidak sah" dan cari penyelesaian untuk mengesan objek Tarikh tidak sah dengan pasti:
Objek Tarikh ialah binaan JavaScript yang mewakili seketika tertentu dalam masa. Isu timbul apabila membuat tika Tarikh daripada rentetan tarikh tidak sah, seperti ditunjukkan dalam contoh di bawah:
var d = new Date("foo");
Kod ini menghasilkan tika "Tarikh Tidak Sah", yang merupakan objek jenis dan diwarisi daripada prototaip Tarikh. Walau bagaimanapun, Object.prototype.toString.call(d) mengembalikan "[object Date]", dan d instanceof Date dinilai kepada benar.
Penyelesaian:
Berikut ialah pendekatan mudah untuk menyemak contoh Tarikh yang sah:
if (Object.prototype.toString.call(d) === "[object Date]") { if (isNaN(d.getTime())) { // Invalid Date } else { // Valid Date } } else { // Not a Date object }
Kaedah ini memastikan bahawa kejadian ialah objek Tarikh dan nilai masanya bukan NaN. Jika salah satu syarat gagal, tika Date dianggap tidak sah.
Kemas kini [2018-05-31]:
Untuk kes di mana objek Tarikh daripada konteks luaran bukan kebimbangan, fungsi pengesahan yang lebih mudah boleh digunakan:
function isValidDate(d) { return d instanceof Date && !isNaN(d); }
Nota [2021-02-01]:
Adalah penting untuk ambil perhatian bahawa terdapat perbezaan antara "tarikh tidak sah" dan "objek tarikh tidak sah". Jawapan ini memfokuskan pada mengesahkan kejadian Tarikh, bukan rentetan input tarikh.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Contoh Tarikh JavaScript dengan Boleh Dipercaya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!