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

ActionScript 3 Discussion :

Expression reguliére pour valider un champ


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Par défaut Expression reguliére pour valider un champ
    Bonjour tous,
    je veux un expression reguliere qui valide un champ qui peux contenir les valeurs suivant:

    1,2,3,5
    ou 1,2
    ou 1,3,9,8,...
    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Une suite de chiffres (ou de nombres entiers ?) séparés par des virgules ?
    C'est plutôt facile...
    Si tu nous donnais ton essai ?

  3. #3
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Par défaut
    /[0-9]{,}*$/

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Consulte la JavaDoc de Pattern, elle indique comment construire des regexp Java -_-°.

    Soit dit en passant, cette JavaDoc est indiquée dans la JavaDoc des différentes méthodes de String à base de regexp...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par Jacobian Voir le message
    alors ?
    Eh, oh, laisse-nous un peu de temps, on n'a pas que ça à faire non plus (par exemple là je serais plutôt censée être en train de bosser ).

    Citation Envoyé par Jacobian Voir le message
    /[0-9]{,}*$/
    Bah déjà cette expression n'est pas valide.
    L'exécution du code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern p= Pattern.compile("/[0-9],*$/");
    donne l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.util.regex.PatternSyntaxException: Illegal repetition near index 5
    => pourquoi as-tu introduit des accolades ?
    => en Java, les '/' sont considérés comme des caractères dans l'expression régulière... il faut les enlever
    => après correction du point précédent, le caractère de répétition '*' ne s'appliquera qu'à la virgule et non à l'ensemble chiffre+virgule
    => après correction du point précédent, l'expression validera les répétitions de chiffre+virgule qui se terminent donc par une virgule

    Note supplémentaire : si tu utilises la fonction Matcher#matches(), tu n'obtiendras true que si l'ensemble de la chaîne testée correspond à l'expression régulière, donc le $ à la fin est inutile dans ce cas.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 338
    Par défaut
    Je pense qu'il a rajouter les deux / parce qu'il utilise javascript car on ecrit les expression régulière entre /expression/
    la solution à ton problème est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern ptrn = Pattern.compile("\\d(,\\d)*");
    A++

  7. #7
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut Expression pour suite de chiffre séparé par virgule 8,2,2,3,3
    ^\d{1}(,\d{1})*$

    Celle-ci est stricte, car elle ne cherche que cette suite "1,4,4,8" ou "5", sans autre caratère avant ou après.
    ex: 5,1,5,1,1,5,1

    \d{1}(,\d{1})*

    celle-ci extrait la recherche dans une ligne type: "eeioej 5,6,5ekonclkdnet" trouve, comme l'autre:
    5,6,5
    etc...

    Pour les extractions (sur la première par éxemple), il faut des parenthèses sur l'ensemble des répétitions:

    (\d{1}(,\d{1})*)

Discussions similaires

  1. Expression regulière pour verifier l'heure
    Par Pingva dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 22/12/2007, 01h12
  2. Réponses: 3
    Dernier message: 12/12/2007, 15h35
  3. expression regulière pour un nombre
    Par al3alwa dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/11/2007, 15h32
  4. [RegEx] Expression regulière pour réaliser un sommaire
    Par vodasan dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2007, 18h13
  5. [RegEx] expression regulière pour contrôle d'adresse mail
    Par zit_zit dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2007, 12h03

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