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 :

validation avec preg_match [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 71
    Points : 53
    Points
    53
    Par défaut validation avec preg_match
    Actuelement j'utilise la fonction preg_match pour valider les informations envoyé par l'utilisateur mais j'ai des difficulté avec les caractère accentué...

    J'ai besoin d'une fonction plus efficace ou la facon d'ajouter ces caractères à ma validation avec preg_match

    cette fonction valide que mon nom commance par une lettre et contient bien juste des lettres des - des ' et des espace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    function fxValidNom($Nom) {
    	$Retour = 1;
     
    	if (!empty($Nom)){
     
    		$pattern = '/^([a-z][a-z-\' ]*[a-z-\' ][a-z\'])$/ix';
     
    		if(!preg_match ($pattern, $Nom)){
     
    			$Retour = 2;
    		}
    	}else{
    		$Retour = 0;	
    	}
    	return $Retour;
    }
    j'ai esseyé d'ajouter les caractère accentué mais sa me donne des erreurs...

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    j'ai cherché pas mal de trucs pour gérér les accents récemment, et cette solution pourra peut etre te convenir.

    Il s'agirait en fait, dans ton cas, de convertir d'abord la chaine accentuée en chaine non accentuée (grace a la methode en lien) puis de faire ta preg de validation sans accent. Je trouve cette solution assez élégante dans la mesure ou elle évite de lister tout les accents.

    Un ajout a faire a la fonction toutefois : il faut ajouter "|grave" a la liste des entitées html a gerer (pour les è et à )

    Edit : je te conseille aussi de spécifier réellement ce que tu attend de preg_match avec : preg_match(...) === 0 ou preg_match(...) === FALSE qui dans l'état actuel de ton code donnera le meme résultat...
    (!FALSE) et (!0) étant équivalent. Dans le cas ou preg_match renvoi FALSE, c'est qu'une erreur s'est produite, ce n'est pas la meme chose qu'un preg_match qui renvoi 0

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 71
    Points : 53
    Points
    53
    Par défaut
    Merci pour le conseil, mon problème est résolu

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

Discussions similaires

  1. Struts Validation avec plusieurs date pattern, HowTo ?
    Par didleur dans le forum Struts 1
    Réponses: 8
    Dernier message: 08/03/2006, 09h27
  2. Valider avec les touches du clavier
    Par pierrot67 dans le forum Bases de données
    Réponses: 8
    Dernier message: 17/02/2006, 08h22
  3. [SAX] Parser XML et validation avec dtd
    Par arno00020 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 22/11/2005, 17h30
  4. [XSD]Validation avec deux schémas?
    Par cuber dans le forum Valider
    Réponses: 10
    Dernier message: 22/09/2005, 09h16
  5. Réponses: 2
    Dernier message: 20/08/2005, 19h23

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