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

JavaScript Discussion :

Un Regex de chaine contenant des éèàç


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut Un Regex de chaine contenant des éèàç
    Bonjour,

    J'ai un formulaire de contact et l'utilisateur doit rentrer son Nom. Je controle qu'il ne rentre pas n'importe quoi avec se Regex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^[a-zA-Z]+[ \-']?[[a-zA-Z]+[ \-']?]*[a-zA-Z]+$/
    Le probléme c'est qu'il n'accepte pas les caractéres suivant : éèàçô etc ... .

    Est- ce que vous auriez une idée ?

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Salut,

    Il suffit de les rajouter dans la liste des caractères autorisés, où est le problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^[a-zA-Zéèàçô]+[ \-']?[[a-zA-Zéèàçô]+[ \-']?]*[a-zA-Zéèàçô]+$/
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    là il prend de \ à '
    ce ne serait pas plutot
    qui prend les 3 caractères ?
    ou alors
    ?
    pour ne prendre que les deux ?

    sinon regarde du coté de \D ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    J'ai essayé ton code Bovino mais ça ne marche toujours pas, ça me met toujours mon message d'erreur.

  5. #5
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Nous ne sommes pas devins. Voici un modèle de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <title>modèle de code pour bien poster</title>
      <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
      <style type="text/css">
      /* code css */
      </style>
    </head>
    <body>
      <!-- code xhtml -->
      <script type="text/javascript">
      <!--
        // code javascript
      //-->
      </script>
    </body>
    </html>
    Illustre le bug avec un exemple minimaliste et on pourra mieux te répondre. Il faut nous aider à t'aider.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    je dois être transparent ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    Désolé;


    Voici mon code js qui est dans un fichier contact. js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
     
    function verif_saisie_contact() {
     
    var valide=0;
    var validef = 0;
    var regexNombre = /^[0-9 -._]+$/;
    var regexChaine = /^[a-zA-Zéèàçô]+[ '-]?[[a-zA-Zéèàçô]+[ '-]?]*[a-zA-Zéèàçô]+$/;
     
     
     
    //Test du champ nom
    if(document.getElementById('nom').value.length>1){
     
    if (regexChaine.test(document.getElementById('nom').value)){
    				document.getElementById('nom').style.backgroundColor="#f5f9fd";
    valide++;
    }
    else{
    			document.getElementById('nom').style.backgroundColor="#ffdfdf";
    	}
    }
    else{
    			document.getElementById('nom').style.backgroundColor="#ffdfdf";
    }
     
    if(valide<1 || validef > 0 ){
    			alert("Veuillez saisir correctement la totalit\351 des champs annot\351s d'une asterisque rouge.");
    	document.getElementById('valides').style.display="none";
    	return false;
    }
    else{
    	return true;
    }
    J'appelle mon js comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
    <head>
    <title>Cagepa</title>
    <meta name="description" lang="fr" content=""/>
    <meta name="keywords" lang="fr" content="Location, louer, vente, vendre, achat, acheter, transaction immobili&egrave;re, appartement, appartements, maison, maisons, terrain, immobilier, agence immobili&egrave;re, Gaillard, Haute-Savoie, Gen&egrave;ve, fronti&egrave;re Suisse"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="verify-v1" content="GklcRTyzHP90qK0ookDPFQy7juQ2qwEzyIFs5PzZX4g=" />
     
    <script src="scripts/js/contact.js" type="text/javascript"></script>
     
     
    <link rel="stylesheet" type="text/css" href="css/cagepa.css"  media="screen" />
    </head>
     
    </html>
    J'ai modifier mon Regex avec les conseil de Bovino et Space Frog mais ça ne fonctionne pas.
    De plus je fais aussi un controle en PHP avec comme code :
    $nom = stripslashes(htmlspecialchars($_REQUEST['nom'])); pour protéger mes variables. Il est placé au dessus du DOCTYPE.
    Ce ne c'est pas si sa un incident sur mon Javascript

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    à mon avis tu viens de lancer un nouveau concept là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[a-zA-Zéèàçô]+[ '-]?]
    c'est supposé faire quoi ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    Je ne suis qu'un debutant en js et je ne connais pa trop les Regex. Je controle si un utilisateur rentre bien son nom c ta dire pas de chiffre mais il à le droit de mettre les caractére spéciaux : '- et l'espace. Le probléme c'est que, ça prend bien les caractére '- et l'espace mais pas les éàç etc ... .

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^([a-zA-Zéèàçô]+[ '-]{0,1})*$/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    Je ne comprend pas ça ne fonctionne pas. Mon javascript affiche toujours un message d'erreur.

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    et faut que l'on tire au sort pour deviner parmis les milliers de messages d'erreurs possible celui que te retourne ton script ????
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    Ton regex est bon c'etait dans mon NodePad++ ou il fallait configurer le formant en UTF8 sans BOM.


    Merci et dsl

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

Discussions similaires

  1. Regex :comparer deux chaines contenant des wildcards
    Par Ganondorf dans le forum Débuter
    Réponses: 5
    Dernier message: 24/12/2010, 11h39
  2. Nettoyer une chaine contenant des caractères spéciaux?
    Par adil_vpb dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/05/2007, 15h47
  3. Réponses: 1
    Dernier message: 22/01/2007, 20h33
  4. passer d'une chaine contenant des espaces a un tableau
    Par flyfrog dans le forum Contribuez
    Réponses: 3
    Dernier message: 26/06/2006, 20h12
  5. [Tableaux] Chaine contenant des noms de variables
    Par novices dans le forum Langage
    Réponses: 6
    Dernier message: 06/04/2006, 23h33

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