Попробуйте это:
$.mask.rules.H = /([0-1][0-9]|2[0-3])/; // 24 hours
$.mask.masks.time = 'H:59';
$("#txtTime").setMask('time');
Исправление
Правила должны быть только для одного символа, поэтому, имея это в виду, вы можете поменять маску, когда ввод начинается с «2», и подтвердить, что следующий символ будет [0-3]:
$("#txtTime").setMask("29:59")
.keypress(function() {
var currentMask = $(this).data('mask').mask;
var newMask = $(this).val().match(/^2.*/) ? "23:59" : "29:59";
if (newMask != currentMask) {
$(this).setMask(newMask);
}
});
Примечание : в этом случае я использую событие нажатия клавиши, при необходимости обязательно обработайте событие вставки.