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 :

Une syntaxe erron�e [RegExp]


Sujet :

JavaScript

  1. #1
    Invit�
    Invit�(e)
    Par d�faut Une syntaxe erron�e
    Bonjour,
    J�obtient une erreur avec mes tout premiers teste de regex
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    <script type="text/javascript">
     valeur="aghj !! <br />";
     valeur=valeur.replace(new RegExp("[^(a-zA-Z0-9_\.\-)]", "g"), '');
     document.getElementById('Lez').innerHTML=''+valeur;
    </script>
    <div id='Lez'></div>
    Je veux en effet ne laisser que des alphanum, ainsi que . - et _
    message "plage incorrecte dans le jeu des caract�res"

    Merci d'avance
    Christele

  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
    le - doit �tre mis en fin de classe
    les caract�res dans une classe n'ont pas besoin d'�tre �chapp�s sauf \]
    les parenth�ses ?? tu veux les exclure ou c'�tait juste pour grouper ?

    sans parenth�ses
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     valeur=valeur.replace(/[^a-zA-Z0-9_.-]/g, '');
    avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     valeur=valeur.replace(/[^a-zA-Z0-9_.()-]/g, '');
    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
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour l'Ami,
    Fid�le a ta r�putation c'est simple clair et efficace,
    en prime tu me donnes le choix.... mille mercis a toi
    ,et c'est not� pr�cieusement dans mes trucs et astuces

    � bient�t
    Christele

  4. #4
    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 : 55
    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
    Il faut aussi insister sur le fait qu'en r�gle g�n�rale, mais plus encore pour les expressions r�guli�res, il est recommand� d'utiliser des litt�raux plut�t que des constructeurs.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var literalReg = /regexp/;
    var constructorReg = new RegExp('regexp');
    Une des raisons principales est que dans un litt�ral, il n'est pas besoin d'�chapper les caract�res d'�chappement :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var reg1 = /\d+/;
    var reg2 = new RegExp('\\d+');
    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

  5. #5
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour Bovino,
    Justement je revenais tout triste, car maintenant il me dit
    document.getElementById('....') a la valeur nulle ou n'est pas un objet

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    <script type="text/javascript"> 
     valeur="aghj !! <br />";
    valeur=valeur.replace(/[^a-zA-Z0-9_.-]/g, '');
    document.getElementById('Lez').innerHTML=''+valeur;
    </script>
    <div id=Lez > </div>
    Par contre ta remarque m'int�resse, mais je ne comprends pas comment
    dans mon exemple pr�cis tu l'aurais �crit ?
    Crois-moi ce n'est pas par flemme ,et c'est rare que je bute ainsi !
    A++
    Christele

  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 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
    le script est lanc� avant que l'objet ne soit instanci� ...
    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
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    le script est lanc� avant que l'objet ne soit instanci� ...
    Oui, je l'admets, mais dans mes AJAX, toute ma page est situ�e apr�s
    le JavaScript et �a marche ... m�me je dirais que c'est plus facile a lire.
    Voulant garder cette disposition, je ne lancerais le script que lorsque Windows onload !

    Je reviens apr�s test.
    A++
    Christele

    RE EDITE: super avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script type="text/javascript">
    function f1()
    {
    valeur="aghj !! <br />";
    valeur=valeur.replace(/[^a-zA-Z0-9_.-]/g, '');
    document.getElementById('Lez').innerHTML=''+valeur;
    }
    window.onload = f1;
    </script>
    <div id=Lez > </div>
    C'est top !!
    Encore merci, et je remets r�solu ...
    Christele

  8. #8
    Invit�
    Invit�(e)
    Par d�faut
    Re bonjour,
    Merci encore, j'ais bien compris et mis ma question r�solue.
    Il me reste a vous demander si ma solution finale est parfaite,
    a savoir:
    Accepter alpha num�rique
    Accepter les lettres (principales accentu�es)
    Accepter @ et � Et bien sur l'espace " "
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function f1()
    {
    valeur="aghj !! é çà € <br />";
    valeur=valeur.replace(/[^a-zA-Z0-9ÀÂÇÈÉÊËÎÔÙÛàâçèéêëîôùû€@ _.-]/g, '');
    document.getElementById('Lez').innerHTML=''+valeur;
    }
    window.onload = f1;
    Merci encore
    Christele

  9. #9
    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
    pourquoi + '' ???

    et accessoirement il manque une paire de caract�res accentu�s
    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 !

  10. #10
    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 : 55
    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
    Peut-�tre au cas o� "aghj !! é çà € <br />" ne soit pas une chaine !
    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

  11. #11
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour,
    Oui, c'est une habitude un peut "r�flexe" je l'avoue
    au d�part pour me pr�server de fausses valeurs comme false true etc.
    par exemple dans mes contr�les de POST j'utilise toujours
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    $lieu = (isset($_POST['lieu'])) ? $_POST['lieu'] : '';
    //====== ainsi je suis certaine de ceci
    if ($lieu=="") echo "existe mais vide";
    //====== bien sur dans l'autre cas
    $lieu = (isset($_POST['lieu'])) ? $_POST['lieu'] : 0;
    Merci pour votre relecture c'�tait sympa !
    Christele

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Mise en forme dans un RTF via une syntaxe personnelle
    Par sqwalichou dans le forum Autres langages
    R�ponses: 2
    Dernier message: 24/02/2006, 22h19
  2. R�ponses: 4
    Dernier message: 13/01/2005, 07h56
  3. renvoie une valeur erron�e
    Par m@thieu dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 09/12/2004, 17h09
  4. [langage] comprendre une syntaxe particulière
    Par mat21 dans le forum Langage
    R�ponses: 4
    Dernier message: 08/12/2004, 18h12
  5. [RICHEDIT] -> Coloriser une syntaxe ?
    Par MaTHieU_ dans le forum C++Builder
    R�ponses: 6
    Dernier message: 18/01/2004, 12h57

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