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 Java Discussion :

Regex: vérifier qu'un String ne contienne que des lettres


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Par défaut Regex: vérifier qu'un String ne contienne que des lettres
    Bonjour à tous,

    J'ai vraiment cherché pendant une heure sur google, qui pour le coup n'est pas mon ami.

    Voilà mon problème, l'utilisateur saisie un mot dans un JTextfield, je veux vérifier qu'il a bien saisie uniquement des lettres de a à z ou de A à Z.
    Voilà ce que j'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!champsSaisie.getText().matches("[a-zA-Z]")) {
    /* affichage d'un message d'erreur */
    }
    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!Pattern.matches("[a-zA-Z]", champsSaisie.getText())) {
    /* affichage d'un message d'erreur */
    }
    Merci!

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Tu as plusieurs façons de le faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Pattern p = Pattern.compile("[a-zA-Z]+");
    Matcher matcher = p.matcher("qskdjfqd78qlkqjfqlskdjf");
    if(matcher.matches()){
    	System.out.println("correct");
    }else{
    	System.out.println("incorrect");
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String sdf = "qsd78fqsdf";
    if(sdf.matches("[a-zA-Z]+")){
    	System.out.println("correct");
    }else{
    	System.out.println("incorrect");
    }
    A+.

  3. #3
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Pour la petite explication il te manquait le "+":

    [a-zA-Z] désigne une et une seule lettre
    [a-zA-Z]* désigne une lettre AUTANT DE FOIS QU'ON VEUT (zéro fois inclus)
    [a-zA-Z]+ désigne une lettre AU MOINS UNE FOIS

    En gros ton code marche si l'utilisateur saisit une et une seule lettre.

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Par défaut
    Merci beaucoup, c'était effectivement un oublie de "*"

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

Discussions similaires

  1. Vérifier qu'une variable ne contient QUE des chiffres ?
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 30/09/2010, 12h47
  2. [RegEx] regex que des lettres
    Par florianjoy54 dans le forum Langage
    Réponses: 2
    Dernier message: 21/01/2010, 17h56
  3. Test String ne contenant que des espaces
    Par atiar dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 17/07/2009, 15h15
  4. Réponses: 2
    Dernier message: 06/07/2009, 15h24
  5. Réponses: 4
    Dernier message: 20/02/2006, 00h33

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