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 :

Expression validant un certains caractères dont les accents


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Expression validant un certains caractères dont les accents
    Bonjour,

    Voilà je suis vraiment pas à l'aise avec les expression régulière...

    J'essaye juste de filtrer une chaine d'un formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $caractere_ok='/^[a-zA-Z0-9]*$/i';
    $chaine="nom01.yu_re parés-dû (ok)";
    if(!preg_match($caractere_ok,$chaine)) return "invalid";
    J'aimerais que seul les minuscules (é à è ù ç etc... compris), les majuscules, les chiffres, les tirets, les parenthèses, les points, les underscore et les espace simples soient autorises.


    Merci pour votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Je déteste les expressions régulières, mais à priori ça devrait ressembler à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $caractere_ok='/^([-.\(\)_ a-zA-Z0-9]*)$/i';
    Si ça ne fonctionne pas, regarde sur expreg.com pour créer ton motif correctement Le problème viendra sûrement de l'espace non échappé ou du point.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci pour ton aide.

    Ca à l'air de fonctionner correctement pour les espaces et les points.
    C'est au niveau des é û etc... que ca ne passe pas...

    je vais faire un tour sur expreg.com mais si quelqu'un sait, qu'il n'hesite pas ..

    Merci en tous cas Vell

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Points : 186
    Points
    186
    Par défaut
    Tu peux essayer avec [[:allnum:]]

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $caractere_ok = '~^[[:alnum:]()._ -]*$~';
    Inutile de préciser l'option d'insensibilité à la casse (i) si vous précisez minuscules et majuscules dans votre expression La classe alnum vous permettra de gérer les caractères accentués/spéciaux si votre locale est correctement renseignée.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Points : 186
    Points
    186
    Par défaut
    Ah, tiens, à chaque fois je lui rajoute un L pour rien.
    (enfin si, "all numeric" n'a pas la même définition que "alpha numeric")

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par julp Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $caractere_ok = '~^[[:alnum:]()._ -]*$~';
    Inutile de préciser l'option d'insensibilité à la casse (i) si vous précisez minuscules et majuscules dans votre expression La classe alnum vous permettra de gérer les caractères accentués/spéciaux si votre locale est correctement renseignée.
    Merci beaucoup pour ton aide !!!

    Seulement, ca ne marche toujours pas, à priori cela concerne seulement les caracteres accentués.
    Sais tu à quoi c'est du ?

    Merci encore

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par julp
    La classe alnum vous permettra de gérer les caractères accentués/spéciaux si votre locale est correctement renseignée.
    Un problème de locale ? (sous Linux vous devriez avoir une valeur type fr_FR et sous windows c'est french d'après la documentation de PCRE).

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    En effet, j'avais bien relevé ce point mais je ne savais de quoi tu parlais

    Merci je vais jeter un coup d'œil sur tout ça.


  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Me revoilà !

    Je n'arrive pas à comprendre ce que c'est, a quoi ca sert et comment la configurer correctement....

    Si quelqu'un à un peu de temps pour m'expliquer avec des mots simples

    Merci !

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Points : 186
    Points
    186
    Par défaut
    Le doc est claire pourtant

    C'est ce qui définit les paramètres de localisation (monétaire, horaire, jeu de caractères, symboles monétaires, etc ...)

    Si tu es sous linux, ça donnera ç : setlocale(LC_ALL , 'fr_FR');
    Le LC_ALL est remplaçable suivant ce que tu veux définir en 'fr_FR' (uniquement la comparaison de caractère, uniquement les formats de dates / heure ... etc )

    Et si tu es sous windows ça sera setlocale(LC_ALL , 'french');

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci pour ton explication...
    Le problème c'est surtout que je ne sais pas trop où mettre le setlocal..

    htacces. ? dans le fichier php direct (mais ca marche pas) ? dans un autre fichier de config ?

    Merci

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Points : 186
    Points
    186
    Par défaut
    Tu fais pas vraiment d'efforts didon ... Y'a des exemples dans la doc ...

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Vell Voir le message
    Tu fais pas vraiment d'efforts didon ... Y'a des exemples dans la doc ...
    J'ai vraiment du mal
    Promis, je trouve pas, pour moi faut le mettre dans le script avec le reste mais ca ne change rien à mon problème...

    Désolé..

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/10/2009, 09h42
  2. Fonction à utiliser pour remplacer les accents et autres caractères
    Par Christophe Charron dans le forum Langage
    Réponses: 2
    Dernier message: 05/08/2007, 12h50
  3. Réponses: 7
    Dernier message: 17/07/2007, 16h57
  4. Accepter les accents dans validator?
    Par lili2704 dans le forum Struts 1
    Réponses: 5
    Dernier message: 03/07/2007, 15h55
  5. Réponses: 5
    Dernier message: 19/01/2007, 22h53

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