For a 12-hour match that can do am and pm, use this
/^(1[0-2]|0?[1-9]):[0-5][0-9] (AM|PM)$/i
It will handle 01:20 am or 1:20 AM.
The examples above for 12 hour were incorrect because you could potentially do:
00:20
which is not a valid 12 hour format.