Forum Clubic

Regex avec string contenant une Date vb.net

bjr,

je viens vous poser mon problème en espérant avoir une solution.

je voudrais vérifier la format de la date lors de l’encodage. Le format devrai être jj/mm/aaaa
La méthode que j’essaie d’utiliser trouve bien l’erreur lorsque la date est encodée au format j/mm/aaaa ( ou autres nombre manquant )
mais lorsqu’ils contiennent un nombre en trop, mon regex , considère que le format est bon ( exemple : 122/05/2009 ou 12/05/19860)

Ce problème m’en pose évidement d’autre sur mes calcul nécessitant la date
je vous met la partie de code posant problème


Dim DateModele As String = "\d\d/\d\d/\d\d\d\d"

 reg = New Regex(DateModele)
        If Regex.IsMatch(DateParam, DateModele) Then
            Dim jour As Integer = CInt(DateParam.Substring(0, 2))
            Dim mois As Integer = CInt(DateParam.Substring(3, 2))
            Dim annee As Integer = CInt(DateParam.Substring(6, 4))
            DateOk = True
           .......
      End if

Donc voila j’espère que quelqu’un pourra m’aidé.
Si il faut d’autre info je les donnerai

Merci

@+

Au choix : soit tu vérifie que la chaine fait 10 caractères, soit tu utilises cette regexp : ^\d{2}/\d{2}/\d{4}$

Vérifie aussi VB (je ne connais pas, les regex si) tu dois certainement avoir une méthode qui vérifie que ta chaine vérifie tout ton pattern.

Merci le problème est réglé, j’ai choisi de vérifier le nombre de caractère en + de mon regex.


 If (Regex.IsMatch(DateParam, DateModele) And (DateParam.Length = 10)) Then
.....
End if


Merci

@+

Bonjour,
Il y a plus simple, plus propre, et plus optimisé ici.
Edité le 02/05/2009 à 20:52

Ok merci pour cette autre méthode, je vais la tester et la garder dans un coin en cas de besoin dans le futur.

@+