bonjour, ci dessus un petit script javascript qui doit vérifier que les expressions s, s1, s2 et s3 répondent a l'expression regExp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <script>var s='Placenta antérieur BI. - Distance col : le 01/01/2010' var s1='Placenta antérieur BI.' var s2='Placenta antérieur BI. - Distance col : 12 le 01/01/2010' var s3='Placenta antérieur BI. - Distance col : 12 le' var rexExp='^Placenta antérieur BI\.$|^Placenta antérieur BI\. - Distance col : (.*) le [0-3]{1}[0-9]{1}/[0-1]{1}[0-9]{1}/[0-9]{4}$' var ref=new RegExp(rexExp,'g'); if (ref.test(s)) { alert('s'); } if (ref.test(s1)) { alert('s1'); } if (ref.test(s2)) { alert('s2'); } if (ref.test(s3)) { alert('s3'); } </script>
Là ou j'ai un problème, c'est que je n'arrive pas a trouver la bonne expression.
Quoique je tente, 2 des 4 string répondent a mon expression.
la donnée importante du problème est que cette expression est auto générée dynamiquement en fonction d'un phrase de départ.
du type:
je ne suis [text:] le [date:] à [heure:].
>> devrait renvoyer une expression permettant de valider:
s0 >> je suis.
s1 >> je suis. dispo le à
s2 >>je suis. dispo le 12/02/2008 à
s3 >>je suis. dispo le 12/02/2008 à 12h25
s4 >>je suis. le 12/02/2008 à 12h25
s5 >>je suis. le à 12h25
s6 >>je suis. dispo le 12/02/2008 à 12h25
s...>> etc...
le modele est simple:
si aucun élément entre crochet n'est rempli, la chaine est egale au début jusqu'au premier point.
sinon elle est egale a tous les texte statique + les valeurs des élement entre crochet, si leur valeur est différent de null.
Si une bonne ame peut me conseiller ca serait trés cool.
Merci d'avance.
Partager