Ich versuche, die jQuery Mask Plugin by Igor Escobar für Zeitvalidierung zu verwenden:Zeitvalidierung 24h-Format in jQuery Plugin Mask
$("input").mask("Hh:Mm",{
translation: {
'H': { pattern: /[0-2]/ },
'h': { pattern: /[0-9]/ },
'M': { pattern: /[0-5]/ },
'm': { pattern: /[0-9]/ }
}
});
Bei dieser Lösung ist es möglich, die Eingabe nicht gültig Zeit wie 26:53
. Ich kann auch nicht verwenden am
oder pm
, nur 24-Stunden-Format. Das Muster scheint nur für ein Symbol zu funktionieren. Wie kann ich es für mehr Charaktere verwenden? So etwas wie dies ([01]?[0-9]|2[0-3])
Ich versuche auch Wert nach der Eingabe zu bestätigen:
$("input").each(function() {
el = $(this);
el.mask("Hh:Mm", {
onComplete: function(cep) {
if (!/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(cep)) {
alert('Error');
el.attr("value","");
}
},
translation: {
'H': { pattern: /[0-2]/ },
'h': { pattern: /[0-9]/ },
'M': { pattern: /[0-5]/ },
'm': { pattern: /[0-9]/ }
}
});
});
Diese Lösung ist nicht so gut, weil ich immer noch der Benutzer erlauben, etwas falsch zu geben. Wie kann ich das beheben?