RegExp из первого ответа не соответствует запросу OP правильно.
^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$
Должно быть
^([0-1][0-9]|2[0-3]):([0-5][0-9])$
Соответствует 00-19 или 20-23: 00-59
OP запросил подтверждение ЧЧ: ММ в диапазоне 00:00 - 23: 59
Нет секунд.24:00 не должно быть действительным.Двойные цифры для ввода часа и минуты.