我需要檢查的字符串,該字符串是否處於PHP檢查閹串是在H甲酸:I A - H:I A
date("h:i A") - date("h:i A")
(前的格式:6:00 AM- 3:00 PM)
如何檢查字符串格式是否正確?
我需要的功能的邏輯,就像如果沒有正確格式化,返回false;否則爲true
我需要檢查的字符串,該字符串是否處於PHP檢查閹串是在H甲酸:I A - H:I A
date("h:i A") - date("h:i A")
(前的格式:6:00 AM- 3:00 PM)
如何檢查字符串格式是否正確?
我需要的功能的邏輯,就像如果沒有正確格式化,返回false;否則爲true
這是一個有點不清楚你在問什麼,但我相信它是這樣的:
$myString = '6:00 AM - 3:00 PM'
preg_match('/[0-2]?[0-9]:[0-6][0-9]\s(?:AM|PM)\s-\s[0-2]?[0-9]:[0-6][0-9]\s(?:AM|PM)/', $myString, $matches)
print $matches
?> 6:00 AM - 3:00 PM
這種情況是失敗的12:00 AM - 12:00 AM –
@dhanu查看我的更新回答。 – Jokab
目前還不清楚,但你需要像這樣
\d+:\d+\s[AP]M-\s\d+:\d+\s[AP]M
你可以檢查一下這種方法:
$str = '6:00 AM - 3:00 PM';
$parts = explode('-', $str, 2);
$format = '%l:%M %p';
var_dump(strptime($parts[0], $format) && strptime($parts[1], $format));
我找到了解決方案,我的字符串如下
echo preg_match('/^(?:0[1-9]|1[0-2]|[1-9]):[0-5][0-9] (am|pm|AM|PM)(|)-(|)(?:0[1-9]|1[0-2]|[1-9]):[0-5][0-9] (am|pm|AM|PM)$/', "12:00 AM - 12:00 AM");
使用正則表達式找到解決辦法進行檢查。 – Enstage
[檢查這個答案](https://stackoverflow.com/a/12759306/2064981),你在這裏的一半;) – ClasG
'preg_match('/ ^([1-9] | 1 [012]): [0-5] \ d [AP] M $ /',$ myString);'。 – Phylogenesis