如何使用正则表达式(正则表达式)验证 12 小时时间

问题描述 投票:0回答:5

我想在 PHP、Javascript 和 HTML 中验证 12 小时时间格式,例如 (01:05 PM)。

我试过这个:

((([1-9])|(1[0-2])):([0-5])(0|5)\s(A|P)M)

但我不知道为什么它不起作用。

javascript php regex
5个回答
9
投票

尝试一下,

^(1[0-2]|0?[1-9]):[0-5][0-9] (AM|PM)$ 

您可以测试这里


6
投票

试试这个:

(((0[1-9])|(1[0-2])):([0-5])([0-9])\s(A|P)M)

测试正则表达式这里

对于区分大小写的 AM|PM|am|pm 尝试此操作 :`

(((0[1-9])|(1[0-2])):([0-5])(0|5)\s(A|P|a|p)(M|m) )

`


2
投票

这适用于 pm/am 和 PM/AM,并且带或不带 0(零)前缀

/^(0?[1-9]|1[012])(:[0-5]\d) [APap][mM]$/

1
投票

经过所有 12 小时时钟格式测试后,这是正确的,

/(((0[1-9])|(1[0-2])):([0-5][0-9]) ?([AaPp][Mm]))/


0
投票

/\b(?<!:)(?=(?:[1-9]|1[012]|0\d(?=:\d))(?::[0-5]\d\b)? ?[AaPp]\.?[mM]\b/

© www.soinside.com 2019 - 2024. All rights reserved.