Catégorie Perl - posté le 20/06/08 13:06:49
$date="28/02/08 13:53";
if($date =~ /^
(?:
(?:
(?:(?:[0-2][0-9]?)|(?:3[0-1]))
\/
(?:(?:0?[13578])|(?:1[02]))
)|
(?:(?:(?:[0-2][0-9]?)|30)\/(?:(?:0?[469])|11))
|
(?:
(?:
(?:[0-1][0-9]?)|2[0-8])\/(?:0?2)
)
)\/\d{2}(?:\d{2})?\s+(?:[0-1]?[0-9]|2[0-4]):(?:[0-5]?[0-9])$/x)
{
print "Date oK\n";
}
ou sa version 1 ligne:
/^(?:(?:(?:(?:[0-2][0-9]?)|(?:3[0-1]))\/(?:(?:0?[13578])|(?:1[02])))|Note: les années bissextiles ne sont pas prises en compte malheureusement...
(?:(?:(?:[0-2][0-9]?)|30)\/(?:(?:0?[469])|11))|(?:(?:(?:[0-1][0-9]?)|
2[0-8])\/(?:0?2)))\/\d{2}(?:\d{2})?\s+(?:[0-1]?[0-9]|2[0-4]):(?:[0-5]?[0-9])$/x
if( preg_match("/^(\d\d?)\/(\d\d?)\/((?:\d\d){1,2})/",$mdate))
{
echo "la date est correcte";
}
Exemple d'utilisation Perl:if($mdate=~ /^(\d\d?)\/(\d\d?)\/((?:\d\d){1,2})/)
{
print "la date est correcte";
}