avec votre fonction la date :
"1e/10/1999" passe sans prob à la vérification
bon je te donne la soluce :
Code :
- function check_ma_date($iDate){
- list($day,month,$year)= explode('/', $iDate, 3); //le 3 pcq je veux que 3 indices à mon tableau
- if (ereg("^([0-9]{2})/([0-9]{2})/([0-9]{4})$", $iDate) && checkdate( $month, $day, $year ) && $year>=1900 ){
- return true;
- }
- return false;
- }
|
explication de l'ereg :
- 2 positions numériques
- un /
- 2 positions numériques
- un /
- 4 positions numériques
--> 10 positions au total coupées par 2 '/' en 3 parties.
ou
Code :
- function check_ma_date($iDate){
- if (ereg("^([0-9]{2})/([0-9]{2})/([0-9]{4})$", $iDate, $date) && checkdate( $date[2], $date[1], $date[3] ) && $date[3]>=1900 ){
- return true;
- }
- return false;
- }
|
l'expression ereg décompose la date reçue dans $date.
$date[0]= $idate
$date[1]= $day
$date[2]= $month
$date[3]= $year
c'est bcp mieux
ps : dis à ta boite d'engager des programmeurs php pour faire du php... en plus, ça fera du boulot à Sh@rdar (et pq pas à moi...) !
Message édité par ethernal le 31-01-2003 à 11:49:57