我的模式與 ISO 樣式日期不符:為什麼?
嘗試使用正規表示式驗證 ISO 樣式日期時,您可能會遇到模式無法正確匹配的問題。這通常是由於在正規表示式中存在“/”字符,這在 PHP 中是必需的。
問題
使用正規時會出現問題表達式比對格式為「YYYY-MM-DD HH:MM:SS」的日期。如果正規表示式中存在“/”字符,PHP 將拋出錯誤,因為它希望使用“”對“/”字符進行轉義。
解決方案 - 使用 DateTime 類別
不要使用複雜的正規表示式,請考慮使用 PHP 中的 DateTime 類別。此類提供了一種簡單而可靠的方法來驗證日期。以下程式碼示範如何使用 DateTime 類別進行日期驗證:
function validateDate($date, $format = 'Y-m-d H:i:s') { $d = DateTime::createFromFormat($format, $date); return $d && $d->format($format) == $date; }
透過指定預期格式,DateTime 類別可以準確驗證日期並傳回可靠的結果。
結論
對於 PHP 中的日期驗證,建議使用 DateTime 類,因為它是一個安全、方便且易於使用的類別。用於處理日期和時間的可擴展方法。
以上是為什麼我的正規表示式不符合 PHP 中的 ISO 日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!