簡體   English   中英

php日期格式正則表達式檢查

[英]php date format regex check

我試圖使用PHP正則表達式對日期字段“ YYYYMMDD ”進行驗證。 我試過這樣的事

/([0-9]{4})([0-9]{2})([0-9]{2})/

但在這一個中,對於MM或DD,它會接受任意兩個數字,如01-99,但我希望MM的01-12和DD的01-31。 這樣做有什么建議嗎?

謝謝

這應該做的工作:

function dateValidate($date) {
    $t = strtotime($date);
    return date('Ymd', $t) == $date;
}

編輯:值得注意的是,這不會像正則表達式那樣快,但在明顯的性能方面會很好。

除了正則表達式,您還可以拆分字符串並使用checkdate查看日期是否有效。

正則表達式對於日期驗證似乎不太實用。 為什么不將它拆分成碎片,然后使用checkdate()

對於本月,您可以使用:

(0[1-9]|1[012])

好幾天:

(0[1-9]| [12][0-9]|3[01])

這里有一些好的例子。

不要將checkdate用作checkdate('1 \\'','1','2000')驗證為TRUE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM