IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Souci avec une expression pour un controle [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $regex = "#^[a-zA-Z0-9_.-]+$#";

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    merci pour votre aide

    ça marche très bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. soucis avec une expression reguliere
    Par bernard59139 dans le forum Général VBA
    Réponses: 1
    Dernier message: 29/01/2012, 12h30
  2. Soucis avec Net::SFTP pour une connexion Windows -> Linux
    Par Schnuffel dans le forum Modules
    Réponses: 4
    Dernier message: 22/12/2011, 15h18
  3. souci avec une comparaison de date
    Par Ludo75 dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 20/02/2006, 15h59
  4. [MySQL] Soucis avec une insertion dans une base
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 27/01/2006, 14h03
  5. SOucis avec une reequete imbriquee
    Par Ni4k dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/03/2004, 08h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo