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

Framework .NET Discussion :

Regex dans des contrôles de validations incorrectes [Débutant]


Sujet :

Framework .NET

  1. #1
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut Regex dans des contrôles de validations incorrectes
    Hello,

    Je suis tout débutant en regex, et je pense sérieusement m'acheter le livre Regular Expressions Cookbook vu comment je galère avec ça ^^

    Cependant j'ai commencé à en faire quelques une pour mes RegularExpressionValidator mais elles ne fonctionnent pas vraiment.

    Pour valider un username, j'utilise la regex suivante dans un RegularExpressionValidator:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:RegularExpressionValidator ID="FirstNameRegExpValidator" runat="server" ErrorMessage="Your first name must be between 2 and 25 characters length, contain only lower and uper case characters (è, ü, é, ö, à, ä, ã, ë, &quot;'&quot; and ï lower case only are authorized)" ValidationExpression="^[a-zA-Zèüéöàäãëï']{2,25}$" ControlToValidate="txtFirstName">*</asp:RegularExpressionValidator>

    pareil pour valider une adresse, j'utilise celle-ci qui limite juste l'utilisation de certains caractères:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ^[-a-zA-Zèüéöàäãëï()';,0123456789]$

    Mon erreur est je pense dans le fait que ça ne valide qu'un subset, j'ai l'impression que ça ne prend pas en compte les valeurs complètes qui sont entré.

    Merci bien pour votre aide

    L.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Bah tu peux utiliser "\w", qui match tous les caractères qui peuvent faire partie d'un "mot" (lettres et chiffres)

    Mais de toutes façons l'expression que tu donnes ne valide que des chaines d'un seul caractères... il manque un "+" après le bloc [...]

  3. #3
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Merci pour ta réponse

    Ok, j'ai pourtant testé avec RegexBuddy, j'ai du ajouter l'espace pour valider le nom d'utilisateur :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    ^[a-zA-Zèüéöàäãëï' ]{2,25}$

    Par contre effectivement pour l'adresse il ne vérifie qu'un caractère, du coup je l'ai modifiée un peu :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    ^[-a-zA-Zèüéöàäãëï()';,0123456789 ]{5,}$

    Le \w contient également les lettres avec accents? Du coup ça donnerait un truc du genre : ^[-\w()';, ]{5,}$ ?

    En fait à la place de l'espace, je pourrais également y mettre \s ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Leelith Voir le message
    Le \w contient également les lettres avec accents? Du coup ça donnerait un truc du genre : ^[-\w()';, ]{5,}$ ?
    Oui
    Citation Envoyé par Leelith Voir le message
    En fait à la place de l'espace, je pourrais également y mettre \s ?
    Oui, si tu veux accepter tous les caractères d'espacement

  5. #5
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Oui, si tu veux accepter tous les caractères d'espacement
    Tu veux dire par exemple les caracters encodé en URL (+) par exemple ou les autres différents types d'espace encodé dans d'autres encodage?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Leelith Voir le message
    Tu veux dire par exemple les caracters encodé en URL (+) par exemple ou les autres différents types d'espace encodé dans d'autres encodage?
    Non, je veux dire les tabulations, retours à la ligne, etc
    En gros "\s" est équivalent à "[ \f\n\r\t\v]"

  7. #7
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Ok, merci! Effectivement je vais mettre ça à la place

    Merci bien pour tes conseils! Je marque cela comme résolu

    Bonne soirée

    L.

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

Discussions similaires

  1. [Débutant] Afficher le résultat d'une procédure stockée dans des contrôles
    Par Bakkach dans le forum VB.NET
    Réponses: 4
    Dernier message: 20/05/2013, 18h08
  2. Réponses: 7
    Dernier message: 13/08/2008, 11h08
  3. Réponses: 13
    Dernier message: 30/01/2008, 14h46
  4. Déclenchement des contrôles de validation
    Par zooffy dans le forum ASP.NET
    Réponses: 3
    Dernier message: 01/10/2007, 16h07
  5. Ajouter des contrôles dans la palette des contrôles.
    Par WOLO Laurent dans le forum MFC
    Réponses: 4
    Dernier message: 22/01/2004, 08h27

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