barbe91
Messages postés20Date d'inscriptionlundi 20 avril 2009StatutMembreDernière intervention24 novembre 2011
-
24 nov. 2011 à 15:07
barbe91
Messages postés20Date d'inscriptionlundi 20 avril 2009StatutMembreDernière intervention24 novembre 2011
-
24 nov. 2011 à 16:07
Bonjour à toute la communauté,
Je ne sais absolument pas dans quel thème précis raccorder mon message. J'ai choisi donc "CSS/Général", pardonnez-moi si je me suis complètement planté.
J'ai un problème qui me dépasse en ce moment, je suis tout ratatiné tellement il est haut!!!
Problème : Un utilisateur peut rentrer une heure exclusivement dans ce format=> hh:mm ou h:mm si l'heure est < 10h
Pour les minutes, il n'y a que la demi-heure d'acceptée. Donc c'est soit 00, soit 30.
Donc:
-> 17:30 et 17:00 sont acceptés et pas 17 (ou 17:) si on veut juste 17 heures.
->09:00 et 9:00 sont acceptés.
Voici mon expression régulière pour tester le format de l'heure :
new RegExp("^[0-2]{0,1}[0-9]\:[03][0]$", "g");
Cette expression est pour moi bonne.
Quand je fais un alert(myReg.test(time)) avec time = 10:30, ça m'affiche bien "true".
Par contre quand je fais juste après la condition suivante (toujours avec 10:30) :
if(!myReg.test(time)) alert("msg");
le message est affiché, comme si le test renvoyait "false" alors qu'il renvoyait "true" dans le "alert()".
J'ai cherché du côté du buffer, j'ai aussi vidé le cache du navigateur, mais rien n'y fait.
Je me tourne donc vers vous et votre expérience, pour m'aider à trouver ce qui cloche là dedans.
Merci pour votre attention.
Barbe91
A voir également:
Incohérence du résultat d'une RegExp sur deux mêmes tests!