我需要检查字符串,无论该字符串的格式是否为
date("h:i A") - date("h:i A")
(例如:上午 6:00 至下午 3:00(
如何检查字符串格式是否正确?
我需要一个函数逻辑,比如如果格式不正确,则返回 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
目前尚不清楚,但您需要这样的东西
d+:d+s[AP]M-sd+:d+s[AP]M
我为我的字符串找到了如下解决方案
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");
您可以在此处输入链接描述中找到解决方案
你可以这样检查:
$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) );