Verifier qu'il s'agit bien de chiffre

fille95 Messages postés 72 Statut Membre -  
tite_tête13 Messages postés 145 Statut Membre -
Bonjour,

je voudrai savoir comment fais ton pour verifier qu'il y a bien une date en format date-mois-annee dans un champs.

En faite, il fau verifier deux chose: 1. qu'il s'agit bien de chiffre

2. qu'il s'agit du bon format (date-mois-annee)

merci d'avance
A voir également:

4 réponses

macgawel Messages postés 676 Statut Membre 89
 
Bonjour.

Ca dépend du langage de programmation, mais sur le principe, c'est bon...
Ce que tu peux éventuellement faire, c'est tester si le contenu du champ peut bien être transcrit en date.
0
fille95 Messages postés 72 Statut Membre 1
 
oui justement comment le fais t-on stp??
0
macgawel Messages postés 676 Statut Membre 89
 
Ca dépend du langage de programmation


...

Pour PHP, il y a checkdate
0
fille95 Messages postés 72 Statut Membre 1
 
est ce qu'elle existe en JAVASCRIPT??
0
macgawel Messages postés 676 Statut Membre 89 > fille95 Messages postés 72 Statut Membre
 
Je ne connais pas trop JS, mais je suis sûr que si tu fais une recherche sur internet (sur ce site, par exemple) avec javascript conversion date (ou un truc du genre), tu trouveras ton bonheur...
0
fille95 Messages postés 72 Statut Membre 1 > macgawel Messages postés 676 Statut Membre
 
OK MERCI BCP

je vais chercher!

merci
0
tite_tête13 Messages postés 145 Statut Membre 3
 
Salut,

sinon tu peux interdire de taper certains caractères dans ton champ date.

ce script permet de n'accepter que des chiffres dans ton champ:

<html>
<head>
<title></title>
</head>
<body>
<form>
<input type="text" name="txtTelephone" onKeypress="
if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;
if(event.which < 45 || event.which > 57) return false;">
</form>
</body>
</html>

Après pour vérifier si c'est bien au format date (jour-mois-année) bin............ Je n'sais pas dsl!!!

J'espère t'avoir un peu aidé ^^.

Bon courage!!!
0
fille95 Messages postés 72 Statut Membre 1
 
merci
0
tite_tête13 Messages postés 145 Statut Membre 3 > fille95 Messages postés 72 Statut Membre
 
Salut, je viens de trouver une fonction pour vérifier si c'est au format date :

<?php
function validation_date($date){
/* Fonction générale de vérification */

/* controle de la longueur de la chaine jj/mm/aaaa = 10 */
if(strlen($date)==10){
if(substr($date,2,1)=="/" && substr($date,5,1)=="/"){
/* les caractères 1 et 6 sont des " / " */
$jour=intval(substr($date,0,2)); /* PHP numérote les chaines depuis 0 */
$mois=intval(substr($date,3,2));
$annee=intval(substr($date,6,4));
if($mois>=1 && $mois<=12){ /* verifie que le mois verifie 1<mois<12 */
if($jour<=longueurMois($mois,$annee)){ /* controle le jour par */
return true; /* rapport a la longueur du mois */
}
else {
return false;
}
}
else {
return false;
}
}
else {
return false;
}
}
else {
return false;
}
}

/* La fonction renvoit la longueur d'un mois précis */
/* en tenant compte du mois de février et des années bissextiles */

function longueurMois($mois,$annee){
if ($mois==4 || $mois==6 || $mois==9 || $mois==11) return 30;
else if (($mois==2) && estBissextile($annee)) return 29;
else if ($mois==2) return 28;
else return 31;
}

/* Les années bissextiles sont les années paires divisibles par
quatre et qui ne sont pas des année de centaine et les années
de centaine qui sont divisibles par 400.
(par exemple 1600 était bissextile, 2000 aussi mais pas 1900
qui est divisible par 4 et paire mais pas divisible par 400) */

/* fonction appelée par validation_date() */

function estBissextile($ans){
if ((($ans % 4 == 0) && $ans % 100 != 0) || $ans % 400 == 0)
return true;/*c'est une année bissextile */
else
return false;/*ce n'en est pas une */
}
?>

Bonne journée.
0
petite info Messages postés 65 Statut Membre 10
 
bon je v te montrer comment le faire en pascal
tu va utilisé les enregistrement
par exemple tu entre un numéro
tu fé read(x);
apres tu test si x in ['0',..,'9']
avec tout les champ de la date
et apres tu contine ton test pour le 2eme prblm
par exemple le jour
si 1<x1<31.....ect
et sa dépend de ton intéligence!!
c tout
bonne chance.
-1
macgawel Messages postés 676 Statut Membre 89
 
Ouch !
Ton système ressemble fort à une usine à gaz :
Beaucoup de travail, et un résultat pas forcément correct.
Parce qu'une fois qu'on a testé le jour (1<x1<31), il faut encore faire un test par rapport au mois (on ne prend pas le 31 avril, mais on prend le 31 janvier). Et même sur l'année (années bissextiles).

J'ai eu un programme qui contrôlait les dates plus ou moins comme ça :
Gestion des années bissextiles calamiteuse.

Alors qu'il suffit de prendre la saisie complète (JJ/MM/AAAA), et de regarder si on arrive à la transformer en date
De tête, je dirais (au niveau syntaxe, c'est limite, mais dans l'esprit c'est compréhensible, je pense) :
function TesterDate(valeur string) {
   result := false;
   try
      StrtoDate (string);
     result := true;
   end try;
   return result;
}


Avec un appel à TesterDate à la sortie du champ (ou à l'appui sur la touche Entrée)
0