我需要严格验证学校项目的输入,时间格式为HH:MM am / pm。到目前为止,我已经得到了这个RegEx表达式:
(([01]?[0-9]):([0-5][0-9]) ([AaPp][Mm]))
这是一个有效的演示:http://regexr.com/3c9b5
唯一的问题是它接受时间13:00到19:59
正确的正常表达是什么? RegEx对我来说一直很难
答案 0 :(得分:16)
你可以使用:
\b((1[0-2]|0?[1-9]):([0-5][0-9]) ([AaPp][Mm]))
EDIT: ^ changed this from 0-1 to not accept 00:00
答案 1 :(得分:1)
这个正则表达式有3个部分,由OR运算符分隔
每个部分允许一种HH
它们是0 [1-9],[1-9]和1 [0-2]。
/(0[1-9]:[0-5][0-9]((\ ){0,1})((AM)|(PM)|(am)|(pm)))|([1-9]:[0-5][0-9]((\ ){0,1})((AM)|(PM)|(am)|(pm)))|(1[0-2]:[0-5][0-9]((\ ){0,1})((AM)|(PM)|(am)|(pm)))/
答案 2 :(得分:0)
我用了这个正则表达式
([0-9]{2})\\/([0-9]{2})\\/([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2}) (am|pm)
您可以尝试一下。希望这会有所帮助!
答案 3 :(得分:0)
([0-9]|0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])\s*([AaPp][Mm])
针对以下内容:
10:00 AM
10:00 PM
上午10:00
晚上10:00
晚上10:00
上午10:00
10:30 PM
23:46 am
答案 4 :(得分:0)
String regex = "([01]?[0-9]|2[0-3]):[0-5][0-9]";
这将适用于24小时验证
答案 5 :(得分:0)
你可以使用这个:
^([1-9]|0[1-9]|1[0-2]):[0-5][0-9] ([AaPp][Mm])$
它将接受上午 1:00、上午 01:00、下午 12:00、晚上 11:00、下午 12:59。但不接受 00:00 am 或 00:00 PM 或 01:60 am。