J'essaie de valider 12 heures sans AM/PM dans ce champ de saisie. Quelle est la meilleure façon d'aborder cela? J'ai énuméré ce que j'ai actuellement qui ne fonctionne pas. Été à la recherche d'un couple de jours sur la façon d'aborder cela à pas de chance.Valider l'heure dans le widget Dashcode
<input id="dtstartf" type="text" name="time" value="08:00" class="apple-textfield apple- no-children" apple-part="com.apple.Dashcode.part.textfield" onkeypress="time(event)">
function time(event) {
var regex = ["[0-2]",
"[0-4]",
":",
"[0-6]",
"[0-9]",
"(A|P)",
"M"],
string = $(this).val() + String.fromCharCode(e.which),
b = true;
for (var i = 0; i < string.length; i++) {
if (!new RegExp("^" + regex[i] + "$").test(string[i])) {
b = false;
}
}
return b;
}
Cela ne fonctionnera pas dans tous les navigateurs, mais pourquoi ne pas utiliser le type d'entrée de temps HTML5? Changez simplement type = "text" en type = "time" et vous avez déjà une validation côté client et un widget sélecteur de temps dans la plupart des navigateurs. Vous pourriez également être en mesure de compenser le soutien sur les navigateurs plus anciens qui ne le supportent pas avec quelque chose comme https://github.com/dsheiko/HTML5-Form-Shim –