验证输入是否采用此时间格式 - “HH:MM” [已关闭]
2022-08-30 13:43:14
我正在尝试用于验证时间输入是否采用此格式 - “HH:MM”preg_match
我正在尝试用于验证时间输入是否采用此格式 - “HH:MM”preg_match
您可以使用正则表达式来检查这一点。
12 小时:
preg_match("/^(?:1[012]|0[0-9]):[0-5][0-9]$/", $foo)
24小时:
preg_match("/^(?:2[0-3]|[01][0-9]):[0-5][0-9]$/", $foo)
如果您使用从 01:00 到 24:59 的 24 小时制,请使用
preg_match("/^(?:2[0-4]|[01][1-9]|10):([0-5][0-9])$/", $foo)
验证日期(和/或时间)而不引发异常的简单函数。它采用预期的日期格式作为参数:
function isValidDate(string $date, string $format = 'Y-m-d'): bool
{
$dateObj = DateTime::createFromFormat($format, $date);
return $dateObj && $dateObj->format($format) == $date;
}
它是如何工作的:它根据传递的日期将输入日期转换为PHP对象,然后将此对象与原始输入日期进行比较。如果它们匹配,则日期有效并具有预期的格式。DateTime
$format
一些用法示例:
/* Valid Examples: */
isValidDate("2017-05-31");
isValidDate("23:15:00", 'H:i:s');
isValidDate("2017-05-31 11:15:00", 'Y-m-d h:i:s');
/* Invalid: */
isValidDate("2012-00-21");
isValidDate("25:15:00", 'H:i:s');
isValidDate("Any string that's not a valid date/time");