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 :

Doubler les anti slashs


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 224
    Points : 62
    Points
    62
    Par défaut Doubler les anti slashs
    Bonjour

    En JS, j’ai cette chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    W:\a0p\commun\musiqueC\commun 1.mp3
    Je veux remplacer chaque anti-slash par une paire d’anti-slashs pour avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    W:\\a0p\\commun\musiqueC\\commun 1.mp3
    Je cherche le code JS qui me permettra de réaliser ça ; j’ai bien ouvert mon livre JS et cherché autour de concat et split mais sans être sûr d’être sur la bonne piste.

    Merci par avance de votre aide.

    Francois

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 656
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 656
    Points : 11 153
    Points
    11 153
    Par défaut
    bonjour,

    quel est le but ?
    En JS la chaîne est mémorisée avec des double anti-slash donc tu n'as pas besoin de les rajouter.

    sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    texte = taChaine.replace(/\\/gi,"\\\\");

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Merci de ta réponse rapide.

    Au premier test rapide que je viens de faire, ça fonctionne; merci à toi.

    Pour l'explication:
    - je ne suis qu'un modeste utilisateur de JS sans compétence
    - je constitue des chaines comme celle que je montre
    - ces chaines ensuite passent dans différentes fonctions, comme fso.GetFolder
    - elles "perdent" un anti-slash à peu près à chaque fois sans que je sache vraiment pourquoi

    J'avais besoin à un moment de régénérer ces anti slashs, ce qui paraît fait maintenant avec ton aide.

    Merci.

    Francois

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 656
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 656
    Points : 11 153
    Points
    11 153
    Par défaut
    Citation Envoyé par francoisch Voir le message
    - ces chaines ensuite passent dans différentes fonctions, comme fso.GetFolder
    un ActiveX ?

    Citation Envoyé par francoisch Voir le message
    - elles "perdent" un anti-slash à peu près à chaque fois sans que je sache vraiment pourquoi
    disons que certains caractères qui ont un \ devant n'ont pas la même signification que le caractère seul :
    s => lettre s
    \s => désigne un caractère tel que le saut de ligne ou l'espace

    n => lettre n
    \n => saut de ligne

    t => lettre t
    \t => tabulation

    du coup un \ est mémorisé dans une variable comme \\, c'est pour ça que selon l'opération réalisé (affichage dans une boite de dialogue par exemple) il perd un \

    Fais une recherche sur les caractères d'échappement (lien Wikipédia)
    On les utilise souvent dans les expressions régulières.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Oui, j'utilise un ActiveX pour lire les dossiers sur le Client; y a t il un autre moyen qui serait meilleur?

    J'ai cru comprendre que chaque fois que j'ai un caractère comme \ " ' dans une expression, je dois dans certaines situations mettre un anti slashd evant pour que ces caractères ne soient pas interprétés et que la chaine passe telle quelle.

    Comme tu vois, je suis un très modeste utilisateur de JS.

    Francois.

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 656
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 656
    Points : 11 153
    Points
    11 153
    Par défaut
    Citation Envoyé par francoisch Voir le message
    Oui, j'utilise un ActiveX pour lire les dossiers sur le Client; y a t il un autre moyen qui serait meilleur?
    Non, il n'y a pas d'autres moyens. Et certains te diront que c'est le pire !!

    Il faut savoir que les ActiveX ne fonctionnent que sous IE. Ensuite, beaucoup d'utilisateurs (dont moi ) refusent les exécutions des ActiveX sur leur PC (problèmes de sécurité).
    Plutôt que de lire les fichiers sur le poste client, demande plutôt à l'utilisateur de sélectionner un fichier dans un dossier avec cette balise HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="file" />

    Citation Envoyé par francoisch Voir le message
    J'ai cru comprendre que chaque fois que j'ai un caractère comme \ " ' dans une expression, je dois dans certaines situations mettre un anti slash devant pour que ces caractères ne soient pas interprétés et que la chaine passe telle quelle.
    c'est tout à fait ça

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Oui, je sais que les ActiveX ne fonctionnent que sous IE et sont mal vus en terme de sécurité.

    Un avantage dans mon cas est de pouvoir, avec cet ActiveX, "découvrir" les fichiers présents dans un dossier du Client.

    De cette manière, il suffit d'y mettre le fichier pour que la page le découvre plus tard.

    Merci de ton aide, mon truc marche maintenant.

    Francois

Discussions similaires

  1. [CKEditor] CKeditor et les anti-slash
    Par Arget dans le forum Bibliothèques & Frameworks
    Réponses: 11
    Dernier message: 17/08/2011, 20h04
  2. Doubler les anti slashs
    Par francoisch dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/10/2008, 11h09
  3. Réponses: 13
    Dernier message: 02/09/2008, 11h46
  4. Réponses: 10
    Dernier message: 24/10/2005, 17h37
  5. [langage] Doubler les antislashs
    Par tshupaka dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2004, 16h09

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