11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je suis totalement débutant en expression régulière et je ne trouve pas sur le net l'expression régulière pour le jour, le mois et l'année. Je trouve bien pour le tout mais je ne sais pas diviser par jj mm yyyy.


^(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])$



Quelqu'un pourrait m'aider s'il vous plait ?

Merci

Frink
Modifié par frink (01 Apr 2011 - 14:56)
([0-9]{2})[-/]([0-9]{2})[-/]-([0-9]{4})

Cette expression répondra aux formats de dates dd/mm/yyyy et dd-mm-yyyy et la divisera en 3.
Dans l'absolu tu peux te retrouver avec des 12/05-2005 ou 01-20/2010
Pour le coup elle sera divisée en 4 :

(\d{2})([-/])(\d{2})(?:\2)(\d{4})

Le problème avec les dates, c'est qu'il faut aussi les vérifier avec un object de type Date - à cause des 31 jours ou encore le mois de février et les années bissextiles.

Disons qu'il y a des règles un peu plus poussées que du parsing de chaîne ^^