Masalah Pengesahan Tarikh PHP
Mengesahkan tarikh dalam PHP boleh menjadi rumit, terutamanya apabila berurusan dengan Bulan/Hari/Tahun (MM/DD /YYYY). Pendekatan biasa ialah menggunakan ungkapan biasa, tetapi sesetengah pengguna mungkin menghadapi kesukaran dengan kaedah ini.
Dilema Regex
Kod sampel yang disediakan menggunakan ungkapan biasa untuk mengesahkan tarikh. Walau bagaimanapun, ia nampaknya mempunyai ralat kecil dalam mesej ralat yang dihasilkan. Mesej ralat hendaklah berbunyi: "nama pengguna mesti tiada ruang".
Penyelesaian Alternatif: tarikh semak
Pendekatan yang lebih mudah ialah menggunakan fungsi tarikh semak. Fungsi ini mengambil tiga hujah: bulan, hari dan tahun. Ia mengembalikan nilai Boolean yang menunjukkan sama ada tarikh yang diberikan adalah sah atau tidak.
Contoh Penggunaan
Berikut ialah contoh cara menggunakan tarikh semak:
<code class="php">$test_date = '03/22/2010'; $test_arr = explode('/', $test_date); if (checkdate($test_arr[0], $test_arr[1], $test_arr[2])) { // Valid date } else { // Invalid date }</code>
Pengesahan Dipertingkat
Untuk pendekatan yang lebih mantap, pertimbangkan untuk membahagikan tarikh input kepada komponen individu dan mengesahkan setiap komponen secara berasingan. Ini memastikan bahawa input diformat dengan betul dan mewakili tarikh yang sah:
<code class="php">$test_date = '03/22/2010'; $test_arr = explode('/', $test_date); if (count($test_arr) == 3) { if (checkdate($test_arr[0], $test_arr[1], $test_arr[2])) { // Valid date } else { // Problem with dates } } else { // Problem with input }</code>
Dengan menggunakan teknik ini, anda boleh memastikan tarikh yang diberikan oleh pengguna diformat dengan betul dan mewakili tarikh kalendar yang sah.
Atas ialah kandungan terperinci Apakah Cabaran dan Penyelesaian untuk Pengesahan Tarikh PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!