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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    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 expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    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 expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

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

  5. #5
    Membre expérimenté

    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
    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 expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    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
    Membre expérimenté

    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
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    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 expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    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');

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