Bonjour à tous,
J'aurais besoin de connaitre l'expression régulière suivante :
J'autorise la saisie de tous les caractères sauf : ,;.²&é"'(-è_çà)=
Apparament [^,;.²&é"'(-è_çà)=]* ne fonctionne pas.
Merci pour votre aide.
Version imprimable
Bonjour à tous,
J'aurais besoin de connaitre l'expression régulière suivante :
J'autorise la saisie de tous les caractères sauf : ,;.²&é"'(-è_çà)=
Apparament [^,;.²&é"'(-è_çà)=]* ne fonctionne pas.
Merci pour votre aide.
essaie de placer le - en fin d'expression, avant de refermer la plage;
Ca ne marche pas mieux.
Même plus simplement :
Si je dis :
- j'autorise la saisie de tous les caractères sauf A avec [^A]*
Et bien, il faisse passer Aa, abA, aAb...
En revanche, si je dis :
- j'autorise la saisie de tout sauf le caractère A avec [^A], tout est OK.
Pour info, voilà le code :
Bizarre :roll:Code:
1
2
3 exp= /[^A]*/g; alert(exp.test(chaine));
Début (^) et fin ($) de la chaine.Code:
1
2
3 exp= /^[^A]*$/; alert(exp.test(chaine));
Dans ton test, tu cherchais si il existait un sous-chaine de ta chaine ayant au moins 0 (sic) caractères n'étant pas A...
Autre info, les parenthèses ( et ) sont des caractères spéciaux, qu'il faut donc echapper. (avec \)
idem pour - et pour . (au moins)
oui mais dans son premier masque Goldorak2 travaillait dans une plage [], d'où le sens exclusif de ^ et les échappements facultatifs;
OK, merci, le tout sauf A fonctionne parfaitement.
Par contre, j'ai essayé de la même façon d'appliquer le tout sauf : ,;.²&é"'(-è_çà)= avec ceci :
^[^,;.²&é"'(-è_çà)=]*$
Et là, il me refuse tout. Par exemple, les chaines ABN, zzz sont refusées.
je te l'ai pourtant dit:
Code:exp=/^[^,;.²&é"'(è_çà)=-]*$/;
OK, et pourquoi le "-" en fin d'expression ? Pke il s'agit d'un caractère spécial ?Citation:
Envoyé par javatwister
Car en milieu de chaine avec un "\" devant, ça fonctionne.
parce que "x-y" définit une plage de caractères (unicode) comprise entre x et y;
bref, entre ( (40) et è (232), tu as tous les caractères alphanumériques... et ton expression les interdisait;
Personne ne m'écoute :piou:Citation:
Envoyé par denisC
Merci pour votre aide si précieuse messieurs ! :D
Je marque le sujet en résolu ! :D
Toujours moi sur le même sujet :
Si je souhaite maintenant quelque chose du style : je ne veux pas la chaine ZIGO dans ma saisie.
Quelle serait l'expression régulière correspondante ?
Merci
mieux vaux faire dans l'autre sens... Teste si ta chaine contient ZIGO et tu en déduiras si elle ne contient pas ZIGO
:wink:Code:
1
2 !(/ZIGO/.test(chaine))
Bien vu ! Merci Denis ;)
et dans ce cas, on se passe allègrement d'une expression rationnelle hein! un bon vieux indexOf et c'est bon;