Expression régulière javascript

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Expression régulière javascript

par Invité » 04 déc. 2008, 16:02

J'ai oublié d'expliquer le résultat ...

Il remplace donc tous les caractères permis par du vide, SAUF si ils suivent (par ligne) un caractère non permis. Donc, en gros, il me reste les fin de ligne contenant des caractères non permis.
Donc, length>0 si il y a au moins 1 caractère non permis.

par Duracell2 » 04 déc. 2008, 16:00

Merci, ça me permet d'avancer !

Toutefois, ce n'est pas encore tout à fait juste, car dans ce cas il accepte les caractères non permis dans certaines conditions (genre si ils son tsuivis d'autres caractères etc).

J'ai donc trouvé ue solution alternative, malheureusement pas très propre, mais qui fonctionne :

Code : Tout sélectionner

var regexp = /([a-z0-9 ()+,=?./:-]|\r|\n)*/mi; var string2 = string.replace (regexp, ""); if (string2 = 0) { OK } else { NOK }

par Victor BRITO » 04 déc. 2008, 15:13

Pour ma part, je formulerais l'expression régulière autrement :

Code : Tout sélectionner

var regexp = /^([a-z0-9 ()+,=?./:-]|\r|\n)+$/mi;
et poserais les conditions suivantes :

Code : Tout sélectionner

if (regexp.test ('la chaîne')) { // Instructions pour les chaînes valides } else { // Instructions pour les chaînes invalides }

Expression régulière javascript

par Duracell2 » 04 déc. 2008, 14:55

Bonjour, j'ai besoin d'un script qui vérifie qu'une string en entrée ne contienne que des caractères autorisés. Si elle contient au moins 1 caractère qui n'est pas autorisé, alors le script doit renvoyer false.

Les caractères autorisés sont : a-z, A-Z, 0-9, ()+,=?./:- ainsi que LF et CR.

Je suppose que le plus facile est de définir une expression régulière pour cela, et utiliser ensuite regexp.test (stringToCheck) .

Malheureusement, je ne sais pas comment exprimer LF et CR (retour chariot) dans mon expression régulière. Pour l'instant, ça donne ça :

var regexp = /[^a-z0-9 ()+,=?./:-]/mgi

Quelqu'un sait-il comment y ajouter LF et CR ?

Merci :wink: