我想用正則表達式檢查時間輸入格式。我這樣做是為了檢查這種格式“H:m”(24 小時格式):$date = '23:59';if(!preg_match('/^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$/', $date)) { form_set_error('Error in time format');}現在我還需要檢查這種格式:"H:m - H:m"什么時候$date = '09:00 - 10:00';我該如何解決這個問題?
2 回答

寶慕林4294392
TA貢獻2021條經驗 獲得超8個贊
您可以簡單地刪除開始和結束字符并隨時檢查它是否匹配,可能類似于:
$re = '/(2[0-3]|[01]?[0-9]):([0-5]?[0-9])/m';
$date = '09:00 - 10:00';
preg_match_all($re, $date, $matches, PREG_SET_ORDER, 0);
foreach ($matches as $value) {
echo $value[0] . " is a match \n";
}
輸出
09:00 is a match
10:00 is a match
結合正則表達式
如果您希望組合兩個正則表達式,您可以簡單地使用邏輯 OR 并將您的表達式放在兩個捕獲組中:
(expression 1)|(expression 2)
- 2 回答
- 0 關注
- 260 瀏覽
添加回答
舉報
0/150
提交
取消