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 :

pattern d'une regexp en paramètre [RegExp]


Sujet :

JavaScript

  1. #1
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 452
    Par défaut pattern d'une regexp en paramètre
    Bonjour,

    Je débute complètement en JS, mais je fais du Perl... entre autre...
    Je veux tester, un caractère d'une chaine avec une regexp qui est construite par le programme et donc que je ne connais pas à l'avance

    voici un petit montage :
    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
    ...
     
    textAfter = 'Intégralité';
    if (!validCharAfter(textAfter.charAt(textAfter.length=0))){
     
    ...
     
    validCharAfter: function(CharAfter) {
     
    		var diacriticalBase = true;
    		var diacriticalBaseList = 'àèéêëïôü';							 
    		flag = true;
    		exp=new RegExp("[a-zA-Z0-9]");
    		if (exp.test(CharAfter))  //---------------------------> OK
    			flag = false;
     
    // c'est après que je sèche :
     
     
    		if (diacriticalBase) {
    			expdiacriticalBaseList = '"['+ diacriticalBaseList +']"';
     
    			exp=new RegExp(expdiacriticalBaseList);
    			if (exp.test(CharAfter))  //---------------------------> NOT OK
    				flag = false;
    		}
     
    		return flag;
    }
    Les diacritiques, caractères avec accents, seront passés en paramètre, il me faut en faire une regexp variable...

    je n'arrive pas à construire expdiacriticalBaseList
    Si j'utilise diacriticalBaseList avec un seul caractère c'est OK
    donc bien sûr je peux faire une boucle par caractère sur diacriticalBaseList...

    mais ja voudrais pouvoir passer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [a-zA-Z0-9àáâãäÀÁÂÃÄèéêëÈÉÊËìíîïÌÍÎÏòóôõöÒÓÔÕÖüÜ]
    J'espère avoir été clair,
    MERCI d'avance pour vos suggestions !

  2. #2
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    il s'agit d'un souci de charset, essaye de passer en utf-8 et rajout le modifier u à ta reg

    ceci étant je n'ai pas de souci avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var basereg="a"
    var extreg="âäë"
    var shortreg= new RegExp("["+basereg+"]","g")
    var longreg= new RegExp("["+basereg+extreg+"]","g")
     
    alert("aaaaaaaaaaaaaaaaaaâ".match(shortreg))
    alert("aaaaaaaaaaaaaaaaaaâ".match(longreg))
    ni avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var basereg="a-z"
    var extreg="âäë"
    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 !

  3. #3
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 452
    Par défaut
    SUPER MERCI pour cette réponse ultra rapide SpaceFrog !

    Je suis partout en utf-8
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp=new RegExp("["+diacriticalBaseList+"]");
    suffit !
    Je me compliquais la vie avec une syntaxe sortie de mon imagination...

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

Discussions similaires

  1. Création d'une fonction sans paramètre?
    Par falcon dans le forum Oracle
    Réponses: 3
    Dernier message: 13/12/2004, 11h32
  2. [Conception] Passer une fonction en paramètre
    Par pejay dans le forum Langage
    Réponses: 9
    Dernier message: 09/12/2004, 13h58
  3. [C#][WebServices] Appel methode avec une classe en paramètre
    Par bran_noz dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/09/2004, 16h41
  4. Réponses: 3
    Dernier message: 17/06/2004, 16h32
  5. Passer une procédure en paramètre ?
    Par Cornell dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2003, 12h21

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