Vérifier la syntaxe d'une date.

Par dagobert, il y a 3 ans


J'en suis à :
^(0?[1-9]|1[0-9]|3[01])\W(0[1-9]|1[012]|[a-z]{3,9})\W20\d\d$
Je voudrais que les intercalaires (\W) soient semblables. Comment faire ?

1 réponse

quenti77, il y a 3 ans

Hello,

Je ne sais pas avec quel langage / techno tu code mais il n'y a pas déjà quelque chose qui peut vérifier le format ? Car la avec ta regex, je peux mettre 31/02/2099 (d'ailleurs on peut pas dépasser 2100 ? :D )

Exemple en PHP :

<?php $dateString = '32/13/147'; $date = DateTime::createFromFormat('d/m/Y', $dateString); var_dump(DateTime::getLastErrors()); /* array(4) { ["warning_count"]=> int(1) ["warnings"]=> array(1) { [9]=> string(27) "The parsed date was invalid" } ["error_count"]=> int(0) ["errors"]=> array(0) { } } */