OVH Cloud OVH Cloud

expression régulière

1 réponse
Avatar
cexpert
j'ai un peu de mal avec les expressions régulières !!
je cherche à vérifier les chaines du type Bx(V) ou B est obligatoire, x
varie de 0 à 2 et V facultatif.
j'ai donc essayé B[012]V? qui me parraissait correct,rien
d'autre combinaisons ne m'ont pas donné de résultat, y compris et c'est ce
qui m'inquiète /B0|B0V|B1|B1V|B2|B2V/ , qui ne peut pas être plus bestial
comme syntaxe
j'utilise le code suivant:

masque= /B0|B0V|B1|B1V|B2|B2V/;
if (machaine.search(masque)!=-1){mon code} croyant savoir que la
fonction test est buggée avec IE

et pas de résultat vrai !

j'utilise IE6 et bien sûr javascript

ceci dit, je ne suis pas tétu, et le fond de mon problème est de
selectionner la bonne entrée dans un select à partir de la chaine donnée, je
m'explique:

<select name="B0V" onChange=assemble()>
<option value=""></option>
<option value="B0">B0</option>
<option value="B0V">B0V</option>
<option value="B1">B1</option>
<option value="B1V">B1V</option>
<option value="B2">B2</option>
<option value="B2V">B2V</option>
</select>

je voudrai selectionner B0V par exemple si on me fournit la chaine B0V dans
un autre controle

une idée ?

1 réponse

Avatar
YD
j'ai un peu de mal avec les expressions régulières !!


Comme tout le monde donc ;-)

je cherche à vérifier les chaines du type Bx(V) ou B est obligatoire, x
varie de 0 à 2 et V facultatif.
j'ai donc essayé B[012]V? qui me parraissait correct,rien


Tout à fait correct, comme ton autre syntaxe.

d'autre combinaisons ne m'ont pas donné de résultat, y compris et c'est ce
qui m'inquiète /B0|B0V|B1|B1V|B2|B2V/ , qui ne peut pas être plus bestial
comme syntaxe
j'utilise le code suivant:

masque= /B0|B0V|B1|B1V|B2|B2V/;
if (machaine.search(masque)!=-1){mon code} croyant savoir que la
fonction test est buggée avec IE


Ah ? Quel bug ? Ton code devrait fonctionner mais test (même avec IE), semble
plus indiqué si ce qui t'intéresse est de savoir seulement si la correspondance
existe.

et pas de résultat vrai !

j'utilise IE6 et bien sûr javascript


Non, JScript ! Le problème àmha ne vient pas de ton expression régulière,
vérifie ta chaîne en entrée avec un débogueur (ou un simple alert).

Ce code fonctionne sans problème avec IE6 :

if(/B[0-2]V?/.test(machaine)) etc.

ceci dit, je ne suis pas tétu, et le fond de mon problème est de
selectionner la bonne entrée dans un select à partir de la chaine donnée, je
m'explique:

<select name="B0V" onChange=assemble()>
<option value=""></option>
<option value="B0">B0</option>
<option value="B0V">B0V</option>
<option value="B1">B1</option>
<option value="B1V">B1V</option>
<option value="B2">B2</option>
<option value="B2V">B2V</option>
</select>

je voudrai selectionner B0V par exemple si on me fournit la chaine B0V dans
un autre controle


Les RegExp semblent indiquées...

--
Y.D.