Je suis en train d'utiliser l'expression régulière suivante pour valider une date en javascript (désolé, il est un peu une brute):non terminée erreur Parenthetical avec une expression régulière en Javascript
"/^(((0[1-9]|[12][0-9]|3[01])\/(0[13578]|1[02])\/((19|[2-9][0-9])[0-9]{2}))|((0[1-9]|[12][0-9]|30)\/(0[13456789]|1[012])\/((19|[2-9][0-9])[0-9]{2}))|((0[1-9]|1[0-9]|2[0-8])\/02\/((19|[2-9][0-9])[0-9]{2}))|(29\/02\/((1[6-9]|[2-9][0-9])(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/"
Le problème est, je Obtenir une erreur JavaScript Parenthetical non terminée. J'ai essayé d'utiliser cette expression en PHP avec preg_match et ça marche bien. Un peu perplexe, toute aide serait grandement appréciée! Editer: Je devrais ajouter, la date que j'essaye de valider serait dans un format de jj/mm/aaaa.
Édition 2: Désolé, j'aurais dû préciser que j'utilise le validateur jQuery de position-abolute.com (http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/).
La règle personnalisée que je l'ai défini est:
"date":{
"regex":"/^(((0[1-9]|[12][0-9]|3[01])\/(0[13578]|1[02])\/((19|[2-9][0-9])[0-9]{2}))|((0[1-9]|[12][0-9]|30)\/(0[13456789]|1[012])\/((19|[2-9][0-9])[0-9]{2}))|((0[1-9]|1[0-9]|2[0-8])\/02\/((19|[2-9][0-9])[0-9]{2}))|(29\/02\/((1[6-9]|[2-9][0-9])(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/",
"alertText":"* Invalid date, must be in DD/MM/YYYY format."}
Pourriez-vous nous montrer le code que vous utilisez pour la validation? –
Fonctionne pour moi ... –
Cela n'aurait-il pas plus de sens de créer une date à partir des composants et de voir qu'elle renvoie la même valeur lorsqu'elle est lue? –