I need to make strict validation of input for a school project, time in format HH:MM am/pm. So far i\'ve got this RegEx expression:
(([01]?[0-9]):([0-5][0-9
([0-9]|0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])\s*([AaPp][Mm])
For the following:
10:00AM
10:00PM
10:00am
10:00pm
10:00 pm
10:00 am
10:30PM
23:46am
I used this regex
([0-9]{2})\\/([0-9]{2})\\/([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2}) (am|pm)
You can try this. Hope this helps!
String regex = "([01]?[0-9]|2[0-3]):[0-5][0-9]";
This will work for the 24 hours validation
This regex has 3 parts, separated by the OR operator.
Each part allows for a type of HH
They are 0[1-9], [1-9], and 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)))/
you can use:
\b((1[0-2]|0?[1-9]):([0-5][0-9]) ([AaPp][Mm]))
EDIT: ^ changed this from 0-1 to not accept 00:00