我允許用戶從00:00:00
到23:00:00
選擇一小時,並且需要檢查他們是否提交了正確的格式。是否有正則表達式或php函數驗證24小時格式HH:MM:SS
?Php驗證24小時時間格式
我發現了一些正則表達式的例子,但我驗證的24小時時間總是設置爲00
分鐘和秒。只有小時不一。
例如
18:00:00, 23:00:00, 01:00:00
我允許用戶從00:00:00
到23:00:00
選擇一小時,並且需要檢查他們是否提交了正確的格式。是否有正則表達式或php函數驗證24小時格式HH:MM:SS
?Php驗證24小時時間格式
我發現了一些正則表達式的例子,但我驗證的24小時時間總是設置爲00
分鐘和秒。只有小時不一。
例如
18:00:00, 23:00:00, 01:00:00
這24小時時間包括秒
([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]
如果你只想要00分鐘和秒鐘匹配,則
([01]?[0-9]|2[0-3]):00:00
謝謝!你的代碼會幫助很多人。 – CyberJunkie
我忘了問...以下分隔符對於正則表達式2是否正確? '/ ^([01]?[0-9] | 2 [0-3]):00:00 $ /' – CyberJunkie
'^'表示字符串的開始和字符串的$ $結尾。因此,對於那些人來說,時間可能沒有任何東西。所以,是的,這不僅是可行的,這是正確的做法。 – sachleen
嘗試這個
$time="23:00:00";
preg_match('#^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$#', $time);
工程就像一個魅力! (拯救了我的一天)。 –
在這裏它的最後一個樣品已準備好使用。
$myTime = '23:00:00';
$time = preg_match('#^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$#', $myTime);
if ($time == 1)
{
// make a error!
}
else
{
// make a error!
}
它是一個RegEx嗎?您可以輕鬆使用PHP strtotime
-函數驗證日期和時間(也可以在沒有日期的情況下運行)。 strtotime
返回false
(在PHP 5.1之前的-1
)如果給定時間無效。因此不要忘記使用===
操作數!
if (strtotime("12:13") === false) { echo("Wrong Time!"); } // Echos nothing
if (strtotime("19:45") === false) { echo("Wrong Time!"); } // Echos nothing
if (strtotime("17:62") === false) { echo("Wrong Time!"); } // Echos 'Wrong Time!'
這對我來說就像一個魅力。
$time = "23:59:60";
preg_match("/^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/", $time)
用戶可以改變他們的選擇?例如輸入「25:00:00」或「香蕉」? – Zuul
sachleen的答案就是你要求的答案,但如果你真正的問題是爲用戶提供一種輸入00到23之間數字的方法,可以考慮使用下拉菜單。 –
@Zul確定他們可以,他們正在從下拉列表中選擇時間 – CyberJunkie