Rech. javascript de masque de saisie d'un champ dd/mm/yyyy hh:mi ? - HTML/CSS - Programmation
Marsh Posté le 17-08-2004 à 14:16:19
re = new RegExp("^[0-9]{2}/[0-9]{2}/[0-9]{4} [0-9]{2}:[0-9]{2}$" )
if (!forms['nom_formulaire'].elements['champ_a_tester'].value.match(re)) {
alert ('Pâ bien !');
return false;
}
c un peu bourrin et ca laisse passer les trucs du genre :
99/26/0002 99:65
à vérifier derrière donc...
Marsh Posté le 17-08-2004 à 14:53:15
ok merci .. je vais tester :-)))
Marsh Posté le 18-08-2004 à 15:33:54
donc j'ai changé un peu ton code (qui marche bien) ...
/*Verification des 2 champs date + heure*/
function VerifierDateHeure(NomChamp) {
re = new RegExp("^[0-3]{1}[0-9]{1}/[0-1]{1}[0-9]{1}/[0-9]{4} [0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$" )
if (!document.Recherche(NomChamp.name).value.match(re))
alert ("La date n'est pas au format dd/mm/yyyy hh:mi." );}
</script>
mais :-)
en fait , j'aimerais limité le champ à 1-31 pour le jour , 1-12 pour le mois, ect... c possible avec ta methode ???
Marsh Posté le 19-08-2004 à 12:14:05
à moins d'énumérer explicitement toutes les valeurs possibles (rhhmmm) pour chaque morceau (00 ou 01 ou ... ou 31 pour le jour, pareil pour les mois...) non.
Les expressions rationnelles c'est pour la vérification lexicale, une fois que tu as ton mot, si tu veux vérifier sa cohérence (vérification syntaxique) faut y aller à la main :
tu le découpes en morceaux et tu vérifie que ca colle...
Marsh Posté le 19-08-2004 à 12:57:10
gubug a écrit : à moins d'énumérer explicitement toutes les valeurs possibles (rhhmmm) pour chaque morceau (00 ou 01 ou ... ou 31 pour le jour, pareil pour les mois...) non. |
j'avais hésité à faire des lisbox (mais c trop moche et pas agréable)..
j'ai donc, comme expliqué ci-dessus, coupé en parties et verifier la coherence de chaque partie ...
mais merci qd mm
Marsh Posté le 19-08-2004 à 13:32:43
ce que je voulais dire c'est que une fois que tu as ta chaine qui colle au 'dd/mm/yyyy hh:mi', tu prends les 2 1er caractères dd et tu vérifie que c'est pas 39, les 2 suivants que c'est pas 19 etc.
c'est bourrin mais l'objet Date de javascript est vraiment limité. J'ai jamais trouvé mais qqn a déjà dû se taper la création d'un objet qui permettrait :
Code :
|
sinon, ben c'est à toi de le faire
Marsh Posté le 01-09-2004 à 17:33:50
Citation : mais :-) |
Citation : à moins d'énumérer explicitement toutes les valeurs possibles (rhhmmm) pour chaque morceau (00 ou 01 ou ... ou 31 pour le jour, pareil pour les mois...) non. |
Il y a un petit peu plus simple quand même avec les regexps :
/(0[1-9]|[1-2][0-9]|3[0-1])/
Voilà pour les jours de 0 à 31 par exemple.
/(0[1-9]|1[0-2])/
Voilà pour les mois
le pipe (|) est à considérer comme un OU
@+
Marsh Posté le 17-08-2004 à 13:55:54
Bonjour,
je recherche un javascript pour tester ou faire un masque de saisie d'une zone de saisie de date au format DD/MM/YYYY HH:MI , afin de vérifier que les dates et heures passées sont au bon format ...
merci d'avance pour votre aide
Message édité par carcass le 17-08-2004 à 13:56:19
---------------
Wake up and smell ... the Carcass