2017-06-14 46 views
-1

我需要檢查的字符串,該字符串是否處於PHP檢查閹串是在H甲酸:I A - H:I A

date("h:i A") - date("h:i A") 

(前的格式:6:00 AM- 3:00 PM)

如何檢查字符串格式是否正確?

我需要的功能的邏輯,就像如果沒有正確格式化,返回false;否則爲true

+0

使用正則表達式找到解決辦法進行檢查。 – Enstage

+0

[檢查這個答案](https://stackoverflow.com/a/12759306/2064981),你在這裏的一半;) – ClasG

+1

'preg_match('/ ^([1-9] | 1 [012]): [0-5] \ d [AP] M $ /',$ myString);'。 – Phylogenesis

回答

1

這是一個有點不清楚你在問什麼,但我相信它是這樣的:

$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 
+0

這種情況是失敗的12:00 AM - 12:00 AM –

+0

@dhanu查看我的更新回答。 – Jokab

0

目前還不清楚,但你需要像這樣

\d+:\d+\s[AP]M-\s\d+:\d+\s[AP]M 
0

你可以檢查一下這種方法:

$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)); 
0

我找到了解決方案,我的字符串如下

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"); 

您可以在enter link description here

相關問題