Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2011, 17h21   #1
Membre du Club
 
Michael Di Blasio
Étudiant
Inscription : mai 2008
Messages : 138
Détails du profil
Informations personnelles :
Nom : Michael Di Blasio

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 138
Points : 49
Points : 49
Par défaut Souci avec une expression pour un controle

Bonjour a tous,

Je voudrais contrôler si les champs d'un formulaire ont été formaté correctement avec les contrainte suivante:

pas espace dans le mot
Uniquement les lettre de a-z A_Z
les chiffre 0-9
les caractère . _ -
voici mon code
par la même occasion je test aussi la grandeur de la chaine
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
private function estDeTailleCorrect($tailleMin,$tailleMax){
	$estDeBonneTaille = false;
 
	if(strlen($this->chaine) >= $tailleMin && strlen($this->chaine) <= $tailleMax){
		$estDeBonneTaille = true;
	}
	return $estDeBonneTaille;
}
 
public function estChaineAuth(){
	$regex = "#^[a-zA-Z0-9_\-\.]$#";
	return preg_match($regex,$this->chaine);
}
voici comment je test
Code :
1
2
3
4
 
	if($this->estDeTailleCorrect(1,12) && $this->estChaineAuth() == 1){
			$estCorrect = true;
	}
quand je fais un test j'insère un mot avec qwertzé et il me dis qu'il y a pas d'erreur.

Peut-être une erreur dans mon expression

Je vous remercie d'avance pour votre aide

Di Blasio Michael
diblasio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 17h29   #2
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Il faut ajouter le signe plus (+) pour que l'expression accepte un ou plusieurs caractères.

Code :
$regex = "#^[a-zA-Z0-9_.-]+$#";
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 17h45   #3
Membre du Club
 
Michael Di Blasio
Étudiant
Inscription : mai 2008
Messages : 138
Détails du profil
Informations personnelles :
Nom : Michael Di Blasio

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 138
Points : 49
Points : 49
merci pour votre aide

ça marche très bien
diblasio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h45.


 
 
 
 
Partenaires

Hébergement Web