我正在使用以下正则表达式来验证格式dd/mm/yyyy
在php中的日期:
preg_match("/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/", $e_startdate, $matches)
但是,以10:20 PM
或AM
格式验证时间的正则表达式是什么。我想要一个正则表达式,它将为我验证以下格式。
<number><number><colon><number><number><space><AM or PM>
由于
答案 0 :(得分:5)
您可以使用正则表达式:
(0[0-9]|1[0-2]):[0-5][0-9] [AP]M
答案 1 :(得分:3)
以下内容应验证您请求的格式:
preg_match("/(\d{2}):(\d{2}) (AM|PM)/", $e_startdate, $matches);
请注意,这不一定是有效时间。你可以输入像上午32:62这样的东西。你需要这样的东西进行时间验证:
preg_match("/(0?\d|1[0-2]):(0\d|[0-5]\d) (AM|PM)/i", $e_startdate, $matches);
注意匹配整个事情不区分大小写(就像我在第二个例子中所做的那样)。否则小写am
,pm
等不起作用。
答案 2 :(得分:2)
正则表达式:
(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])
以MySQL时间格式验证时间。 24小时时间冒号分隔小时:分钟:秒hh:mm:ss
比赛:09:30:00 | 17:45:20 | 23时59分59秒
非比赛:24:00:00
答案 3 :(得分:1)
/ \ d {2}:\ d {2}(AM | PM)/
答案 4 :(得分:0)
我从难以捉摸的答案开始,但需要更多的灵活性。这个分钟是可选的,以及AM / PM之前的空间
/(0?\d|1[0-2])(:(0\d|[0-5]\d))?[ ]?(A|P)M/i