Programmation » [JS REGEX] Améliorer ce regex afin d'accepter une date sur...
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 02/06/2011 @ 08:39:53,
Par dubinfoBonjour tout le monde,
J'ai créé un regex qu me permet de contrôler ce format de données :
980903FL01
Maintenant, je dois donc remplacer
Il devrait donc accepter une année sur 4 chiffres.
Savez-vous me dire comment je peux ajouter cette information à ce regex ? :
Merci d'avance
Dubinfo
J'ai créé un regex qu me permet de contrôler ce format de données :
980903FL01
Maintenant, je dois donc remplacer
870209MD01
par 19870209MD01
.Il devrait donc accepter une année sur 4 chiffres.
Savez-vous me dire comment je peux ajouter cette information à ce regex ? :
if(!/^((0[1-9])|([1-9][0-9]))((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))[FM][A-Z]((0[1-9])|([1-9][0-9]))$/i.test(dmu))
Merci d'avance
Dubinfo
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 03/06/2011 @ 13:38:01,
Par gizmoPourrais-tu donner plus d'info sur le format global accepté? Parce que là, ta regexp, elle pourrait vraiment être simplifiée et optimisée. Mais pour sa il faut connaitre la sémantique de ton code.
Concept vivant.
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 03/06/2011 @ 14:04:56,
Par dubinfoPourrais-tu donner plus d'info sur le format global accepté? Parce que là, ta regexp, elle pourrait vraiment être simplifiée et optimisée. Mais pour sa il faut connaitre la sémantique de ton code.
Salut,
Merci pour ta réponse.
Voici plus d'informations :
Format accepté : YYYYMMDDFL01
Exemple par rapport à ci-dessus : 20010912FL01
Les 4 premiers chiffres correspond à l'année, si on pourrait empêcher l'encodage d'une année supérieure à celle actuelle, ça serait bien.
Les deux suivant sont le mois (entre 01 et 12), la regex n'acepte pas 00 et 13 par exemple.
Les deux suivants correspondent au jour (entre 01 et 31).
La première lettre doit être obligatoirement M ou F (en minuscule ou en Majuscule).
La lettre juste après correspond à la première lettre du nom de famille.
Les deux derniers chiffres sont là pour éviter les doublons (deux patients qui auraient la même date de naissance, le même sexe, et la même première lettre du nom sont comme ça identifiés). Cela va de 01 à 99
J'espère avoir répondu à ta question.
Merci encore pour l'aide.
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 03/06/2011 @ 14:12:33,
Par ClandestinoA vue de pif et sans validation, je dirais :
/[12][890][0-9]{2}[0-1][0-9][0-3][0-9][MF][A-Z][0-9]{2}/gi
/[12][890][0-9]{2}[0-1][0-9][0-3][0-9][MF][A-Z][0-9]{2}/gi
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 03/06/2011 @ 14:17:31,
Par dubinfoA vue de pif et sans validation, je dirais :
/[12][890][0-9]{2}[0-1][0-9][0-3][0-9][MF][A-Z][0-9]{2}/gi
/[12][890][0-9]{2}[0-1][0-9][0-3][0-9][MF][A-Z][0-9]{2}/gi
Salut,
Merci pour ton aide.
Cela ne semble pas fonctionner :
L'année peut être supérieure à 2011
Le mois peut être supérieur à 12
Le jour peut être supérieur à 31
...
Ce code fonctionne :
if(!/^(19|20)([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[01])[FM][A-Z](0[1-9]|[1-9][0-9])$/i.test(dmu))
à part qu'il ne vérifie pas que l'année soit supérieure à l'année actuelle.
Merci quand même
Dernière édition: 03/06/2011 @ 14:23:01
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 03/06/2011 @ 14:39:14,
Par OlafJe n'y connais strictement rien en JS, par contre une regexp ne t'aidera jamais à comparer une chaine avec la date courante. Dans un autre langage, je comparerais `date +M%d` à la date extraite de ta chaîne.
Une petite citation en prime ^^
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
Mes 2 cents
Une petite citation en prime ^^
Citation de: Jamie Zawinski
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
Mes 2 cents
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 04/06/2011 @ 07:46:55,
Par gizmole code que tu donnes dans ton dernier message est le plus valide que tu puisses avoir avec une regexp en javascript. si tu veux plus de validation sur la date, tu vas devoir jouer avec l'objet Date.
Concept vivant.
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 04/06/2011 @ 16:05:37,
Par ovhEn effet les regexp sont faits pour valider des formats, pas des valeurs.
Je n'ai rien à voir avec www.ovh.com
[JS REGEX] Améliorer ce regex afin d'accepter une date sur...
Publié le 04/06/2011 @ 16:08:57,
Par max+1
Trololo