begin process at 2012 05 29 07:53:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

Débutants

 > 

Controle des dates


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Controle des dates

mercredi 26 avril 2006 à 09:56:24 | Controle des dates

ov3rdoze

Membre Club
Salut Je débute et j'ai voulu faire une fonction qui vérifie à la volée la date saisie dans un input. Pour l'instant je n'ai pas traité les années bissextiles ni fevrier mais le code est déjà lourd. En plus dans certains cas le curseur ne suis pas quand on rajoute des caractères... Aidez moi svp Voila le code (Très lourd): function verifDate(object, sep) { //sep est le séparateur choisi var re = /^[0-9]$/; //Expression régulière var re2 = /^[0-3]$/; //Expression régulière var re3 = /^[4-9]$/; //Expression régulière var re4 = /^[0-1]$/; //Expression régulière var re5 = /^[2-9]$/; //Expression régulière var re6 = /^[02]$/; //Expression régulière var re7 = /^[13578]$/; var re8 = /^[0-2]$/; //Expression régulière var re9 = /^[1-9]$/; //Expression régulière var tmp = ""; //Tampon 1 var tmp2 = ""; //Tampon 2 var ch = object.value.toString(); //Récupération de la valeur à tester if (ch != "") { //Si elle est pas vide (Evite une erreur si on efface ce qu'on a tapé) for (i=0; i 3 on met un 0 devant break; case 1: if (tmp.charAt(0) == "3") { //Si le 1er chiffre est 3 if (re4.test(ch.charAt(i))) tmp += (ch.charAt(i) + sep); //Le 2eme ne peut être que 0 ou 1 } else { tmp += (ch.charAt(i) + "/"); //Sinon on garde le 2eme et on ajoute le séparateur } break; case 3: if (re4.test(ch.charAt(i))) tmp += ch.charAt(i); //On autorise que les caractères 0 et 1 else if (re5.test(ch.charAt(i))) { //Sinon (pas seulement else pour pas mettre des lettres ou autre...) if (tmp.charAt(0) == "3") { if (tmp.charAt(1) == "1") { //Si on a mis le 31 if (re7.test(ch.charAt(i))) tmp += ("0" + ch.charAt(i) + sep);//On peut mettre que certains mois } else { if (re9.test(ch.charAt(i))) tmp += ("0" + ch.charAt(i) + sep); } } else { if (re9.test(ch.charAt(i))) tmp += ("0" + ch.charAt(i) + sep); } } break; //Dans tous les cas si c'est pas 0 ou 1 on rajoute un 0 devant case 4: // <== Marche comme le case du dessus if (tmp.charAt(0) == "3") { if (tmp.charAt(1) == "1") { if (tmp.charAt(3) == "1") { if (re6.test(ch.charAt(i))) tmp += (ch.charAt(i) + sep); } else { if (re7.test(ch.charAt(i))) tmp += (ch.charAt(i) + sep); } } else { if (tmp.charAt(3) == "1") { if (re8.test(ch.charAt(i))) tmp += (ch.charAt(i) + sep); } else { if (re9.test(ch.charAt(i))) tmp += (ch.charAt(i) + sep); } } } else { if (tmp.charAt(3) == "1") { if (re8.test(ch.charAt(i))) tmp += (ch.charAt(i) + sep); } else { if (re9.test(ch.charAt(i))) tmp += (ch.charAt(i) + sep); } } break; default: if (re.test(ch.charAt(i))) { //Si elle vérifie l'expression régulière if (tmp.length == 2 || tmp.length == 5) tmp += sep; //On ajoute le / si on est au bon endroit tmp += ch.charAt (i); //On insère les chiffres } break; } } // <== Fin boucle if (tmp.length > 10) { //Si ya trop de chiffres for (i=0; i<10; i++) tmp2 += tmp.charAt(i); //On parcour juste la longueur nécessaire } else { tmp2 = tmp; } //Sinon on récupère directement la valeur object.value = tmp2; //On met à jour le input } }
mercredi 26 avril 2006 à 10:23:07 | Re : Controle des dates

syndrael

Ne cherche plus !! J'ai ton bonheur..
Clique ici tu vas comprendre.. Assez des algos et des années bissextiles !!
S.
mercredi 26 avril 2006 à 10:46:06 | Re : Controle des dates

ov3rdoze

Membre Club
Nickel:) Mais la ou je galère c'est au moment de la saisie: Par exemple si on tape 31 un '/' se rajour automtiquement. Ca ca marche Mais apres il faut pas qu'on puisse par exemple taper 11 parceque le 31 novembre ca existe pas. Ca marche à peu pres mais le curseur ne suis pas les caractères qui se rajoutent et du coup les chiffres qu'on tape sont insérés au mauvais endroit:(
mercredi 26 avril 2006 à 12:51:21 | Re : Controle des dates

syndrael

Ouh là !! Tu fais de la saisie auto-complétée !! Bon courage.. Je te conseille alors de faire appel à des calendriers.. kom le site www.voyages-sncf.fr. Tu cliques sur le calendrier tu es sur de ne rien frappé d'incorrect.
Perso pour le saisie je te coseille de lancer ta vérification de date une fois la case de saisie quittée donc par le biais d'un <input.. onBlur="">
S.


mercredi 26 avril 2006 à 14:22:46 | Re : Controle des dates

ov3rdoze

Membre Club
ok merci vais chercher de ce coté
mercredi 26 avril 2006 à 14:30:04 | Re : Controle des dates

syndrael

Réponse acceptée !
juste un exemple
[ Lien ]
Le deuxième select devrait te convenir. Il te faudra juste modifier le code pour faire apparaitre la date au format français..
S.
mercredi 26 avril 2006 à 14:54:57 | Re : Controle des dates

ov3rdoze

Membre Club
Terrible!!! J'avais essayé de faire un truc dans le genre mais j m'en etais pas sorti. C exactement ce qui faut Merci
jeudi 4 mai 2006 à 17:02:06 | Re : Controle des dates

sayann

Salut !

Je reviens sur un truc qui a été dit, les fameux calendriers sur www.voyage-sncf.com, comment on les fait ?
Ou est-ce que je pourrais trouver un truc de ce genre ?
Merci

@+

Sayann

jeudi 4 mai 2006 à 19:23:10 | Re : Controle des dates

syndrael

Regarde le lien du dessus.. C'est exactement ça..
Je te le redonne..
[ Lien ]
S.


Cette discussion est classée dans : var, expression, tmp, régulière, charat


Répondre à ce message

Sujets en rapport avec ce message

expression régulière AU SECOURS ! [ par jeanette_bella ] Bonjour à tous,Je cherche à faire un ptit script qui me permettrait de récupérer d'un champ de texte que des caractères alphanumériques. Ex : A0FF25Li Pb Javascript Input Text [ par Pipininho ] Bonjour, J'ai un pb avec le script suivant. Normalement, il devrait permettre de saisir une date rapidement, les slashs s'ajoutant automatiquement. Ce Expression régulière impossible ? [ par Mindiell ] Bonjour, Je cherche actuellement à remplacer certains mots dans un texte en utilisant les expressions régulières. Par exemple : toto est le plus beau probleme avec charAt [ par spyro666 ] Bonjours, j'ai un problème avec l'utilisation de la fonction charAt. En effet quand j'ai par exemple une variable minute = 15, j'aimerais récupéré l .selectionStart dans un Iframe [ par bultez ] Bonjour à toutes et à tous,je ne parviens pas à utiliser .selection??? dans un iframe ( avec FF/M-Meleon... donc )< Expression régulière : Remplacer un texte par un autre mais en évitant les liens hypertextes [ par kiwithereturn ] Bonjour,Je sollicite votre aide sur un problème d'expression régulière que je ne maitrise pas du tout.Mon objectif : Filtrer sur un forum, avec Javasc Expression régulière - Vérifier si un nombre est supérieur à une valeur [ par prim ] Bonjour, Est-ce que quelqu'un connaît une expression régulière pour tester si un nombre est supérieur à 30 par exemple. J'ai fouiller un peu mais j' Expression régulière [ par Kirvin ] Bonjours à tous,j'utilise les expressions régulière pour cleaner un contenu copié depuis Word (enlever tout le code HTML inutil généré par Word)J'util passage d'une liste à une autre [ par maudepasse ] Bonjour, Je crée un site en CSS et JS, et je suis confrontée à un problème technique : j'ai fait une liste divisée en plusieurs blocs en xhtml, du jquery et ajax formulaires [ par Annadrill ] bonsoir, j'aimerais savoir comment je dois m'y prendre pour recréer un script du type de celui ci-dessous pour jquery, le systeme étant que les cha


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales