Expressions régulier

Fermé
neyo - 21 août 2007 à 14:21
 neyo - 21 août 2007 à 15:33
bonjour ,
est qu'il y a quelqu'un qui peut m'aider trouver une expression régulier pour tester ces variable?
voici un exemple des variable:
1
2
20
3.5
23.54
abc.sql
a_b_c.sql

Merci d'avance

2 réponses

c'est tres urgent je suis bloquer
merci
0
nherment Messages postés 94 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 7 septembre 2007
21 août 2007 à 14:36
Il y a plusieurs variables que tu veux traiter n'est-ce pas ?

Sépare chacune de tes variables. Ta question n'est pas assez précise.

Est-ce une variable qui va prendre les valeurs que tu as donné ou plusieurs variables ?
0
Merci de repondre
voila j'ai un champ a verifier avec du javascript.
l'utilisateur doit entrer des variable de ce type:
par ex :
1
198
1.2
abec.sql
a_be_c.sql

alors s'il rentre des varibale de cette forme ca doit m'afficher un message d'erreur

abdc
1.abcde
1_2
abcfe*
et aussi l'espace entre les caractére

j'utilise un preg_match

j'espére que vous m'avez compri

Merci d'avance
0
nherment Messages postés 94 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 7 septembre 2007
21 août 2007 à 14:51
Je ne saisi toujours pas tout mais je vais essayer de reformuler.
Dis moi si je vise juste :

l'utilisateur renseigne un champ. Ce champ doit autoriser :
- les nombres entiers
- les nombres décimaux (utilisant comme séparateur décimal le point)
- les suites de lettres comportant dans l'ordre (abec) et comportant l'extension .sql. Les suites de lettres peuvent être séparées par un underscore "_" mais par rien d'autre.

Si l'utilisateur rentre autre chose que ce qui est listé ci-dessus dans son champ alors un message d'erreur apparaît.
0
neyo > nherment Messages postés 94 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 7 septembre 2007
21 août 2007 à 14:56
oui ta bien visé.
juste un petit truc pour les suites de lettres, c'est pas obligatoir qu'ils soient dans l'ordre .
n'importe qu'elle chaine de caractére suivi juste d'un seul "point" apres suivi par "sql"
0
nherment Messages postés 94 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 7 septembre 2007 > nherment Messages postés 94 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 7 septembre 2007
21 août 2007 à 15:08
ok alors en php (je ne connais pas le javascript, à toi d'adapter) ca va donner un truc comme :

if(pregmatch("#^[0-9]+$#", $variable) && pregmatch("#^[0-9]+\.[0-9]+$#", $variable) etc.)
{
      // la chaine de caracteres entrée par l'utilisateur est ok
}
else
{
     // erreur
}

avec la dernière reg_ex :
"#^[a-z]+\.sql$#"

donc pour synthétiser, tu as 3 regex :
#^[0-9]+$#
qui valide les entiers
#^[0-9]+\.[0-9]+$#
qui valide les décimaux
#^[a-z]+\.sql$#
qui valide les chaines de caractère comportant l'extension .sql
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011 > nherment Messages postés 94 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 7 septembre 2007
21 août 2007 à 15:17
Bonjour,

En mettant des || plutôt que des && dans le test, ça devrait mieux marcher :)

Sinon, en une seule expression rationnelle :
([0-9]+(\.[0-9]+)?)|([a-z]+\.sql)

C'est à dire : entiers, suivis ou non d'une partie décimale, OU une chaine de caractères en minuscules suivie de .sql
0