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

Composants Java Discussion :

Un problème dans un JTextField


Sujet :

Composants Java

  1. #1
    Membre habitué Avatar de cysboy
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 221
    Points : 168
    Points
    168
    Par défaut Un problème dans un JTextField
    Bonjour à toutes et tous!

    Voilà: J'ai un JTextField ou l'utilisateur doit rentrer un nom de ville. Pour être sûr qu'aucun nombre ne se glissera par inadvertance dans cette saisie j'ai passer le String récupéré pour une vérification avec une Regex.
    Mais voilà! si l'utillisateur tape un caractère accentué situer sous les chiffres (é, è, à) mon programme le considère comme un chiffre...

    Voici la regex en question mais je ne pense pas que ça vienne de ça....
    regex = new String("([a-zA-Z]+)");

    Si vous avez des pistes ou une solution à mon problème.... je suis tout ouïe!

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    bonjour,

    ton problème n'est pas que le programme considère que les caratères accentués sont des chiffres, mais que les seules caractères autorisés vont de a à z et de A à Z.

    C'est donc un problème avec la regex (il faut que tu y ajoute éèçà)
    ce qui doit donner quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regex = new String("([a-zA-Zéèàçê]+)");

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Points : 475
    Points
    475
    Par défaut
    Bonjour,

    Si, comme tu le dis, tu veux éviter les chiffres, pourquoi ne pas utiliser \D ?

    Nicolas

  4. #4
    Membre confirmé
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    Par défaut
    Salut !

    Il y a beaucoup plus simple, et plus propre : JFormattedTextField

    http://java.sun.com/j2se/1.5.0/docs/...TextField.html

  5. #5
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    @Nicolas_75
    la question serait de savoir les caratères autorisés ou non pour les nom de ville.
    je ne suis pas sur que seuls les chiffres soient interdit. je ne connait pas de ville ayant un "?" dans le nom.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Points : 475
    Points
    475
    Par défaut
    fnobb, je suis complètement d'accord avec toi. Je tentais juste de répondre au besoin initial : "Pour être sûr qu'aucun nombre ne se glissera par inadvertance dans cette saisie".

    Cordialement,

    Nicolas

  7. #7
    Membre habitué Avatar de cysboy
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 221
    Points : 168
    Points
    168
    Par défaut
    Je vous remercie de vos réponse je teste ça tout de suite....

  8. #8
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par cysboy
    Voici la regex en question mais je ne pense pas que ça vienne de ça....
    regex = new String("([a-zA-Z]+)");
    Et pourtant cela vient de là : tu n'authorises que les caractères ASCII de a à z et de A à Z, sans les caractères accentués donc !

    Tu peux utiliser \p{L} qui représente toutes les lettres Unicodes (caractères accentués compris) :

    a++

    PS : Pourquoi faire new String() au lieu d'affecter directement la chaine ? ca sert un peu à rien dans ce cas...

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

Discussions similaires

  1. Problème de saisie dans un JTextField
    Par amine1980 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 12/04/2011, 11h12
  2. problème dans l'hebergement
    Par Redouane dans le forum ASP
    Réponses: 9
    Dernier message: 31/12/2003, 23h34
  3. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09
  4. Problème dans analisys Manager
    Par ien_ien23 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 11/07/2003, 14h38
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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