Vérifier la validité d'une date en PHP

La date est une notion beaucoup utilisé dans les formulaires sur les site web : date de naissance, mariage, évènement...
Ainsi les valeurs (souvent des champs texte libre) renseignés peuvent très bien être erronées volontairement ou non pas l'utilisateur. Je vous propose donc une fonction permettant de vérifier si une date à un format valide et existe réellement.

<?php
# Vérifie la validité d'une date
function is_valide_date($date, $sep='/')
{
	if(!list($day, $month, $year) = explode($sep, $date))
		return false;
 
	if($day > 31 OR $day < 1 OR $month > 12 OR $month < 1 OR $year > 32767 OR $year < 1)
		return false;
 
	return checkdate($month, $day, $year);
}

Quelques exemples d'utilisation :

<?php
// Dates
$date_valide = '04/10/2009';
$date_invalide = '30-02-2009'; # N'existe pas
 
if(is_valide_date($date_valide)) // Affiche "Ok"
	echo 'Ok';
if(is_valide_date($date_invalide, '-')) // N'affiche rien
	echo 'Ok';

Bonne utilisation wink

Billets relatifs

Ajouter un commentaire





Les commentaires sont validés manuellement afin d'éviter le spam.