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 :

couper une variable en javascript


Sujet :

JavaScript

  1. #1
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut couper une variable en javascript
    bonjour tous le monde!

    voila, je voudrais recuperer les caracteres situés apres le . de ma variable generée automatiquement-du genre mavariableautomatique.flv, je veux recuperer le flv, mais je ne sais pas comment le faire en js!

    j'essaye avec substr, mais ca marche pas....


    une idee siouplais?

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var a="mavariableautomatique.flv";
    var b=a.split('.');
    if (b.length>1){alert(b[(b.length-1)])}

  3. #3
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    merci mais non!

    ma variable initiale recupérée par obj vaut

    E:\ess\black Christmas\campus.rm

    des fois, le chemin est different, donc inutile de proceder par numero de caractere


    je fais donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var b=obj.value.split('.');
    			alert(b);
    et ca me renvoie E:\ess\black Christmas\campus,rm


    moi, je voudrais que ca me rapporte uniquement le rm !

    comment faire siouplais?

  4. #4
    Membre émérite 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
    Points : 2 953
    Points
    2 953
    Par défaut extraire un morceau de chaine (split, substring, indexOf)
    Je bataille avec la version "expression régulière", mais :
    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
    <!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>extraire un morceau de chaîne</title>
       <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
       <style type="text/css">
       </style>
    </head>
    <body>
      <script type="text/javascript">
      var s = "mavariableautomatique.flv";
      alert(s.split(".")[1]);
      alert(s.substring(s.indexOf(".")+1));
      </script>
    </body>
    </html>

  5. #5
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut



    merci merci!

    ca marche bien comme ca!

    mais je comprends pas pourquoi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     alert(s.split(".")[1]);
      alert(s.substring(s.indexOf(".")+1));
    affichent la meme valeur..... tu sais toi ?

    merci bien

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    alert(s.split(".")[1]);
    alert(s.substring(s.indexOf(".")+1));
    Si la chaine comporte plusieurs points, ça ne retourne pas ce que tu attends
    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
    <html>
    <head>
    <script type="text/javascript">
    function extension()
    {
    var a=document.getElementById('champ').value;
    var b=a.split('.');
    if (b.length>1){alert(b[(b.length-1)])}
    }
    </script>
    </head>
    <body>
    <input type="file" id="champ"/>
    <input type="button" value="Affiche Extension" onclick="extension()"/>
    </body>
    </html>
    Tester avec IE6 et FF3

  7. #7
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    heu lastIndexOf() ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var e = document.getElementById('champ').value;
    alert(e.substring(e.lastIndexOf(".")+1)));

  8. #8
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    merci pour cette profusion de reponses !

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    hem la solutoion de andry est indépendant de la longueur de la chaine ...

    le spliit est tout indiqué

  10. #10
    Membre émérite 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
    Points : 2 953
    Points
    2 953
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Si la chaine comporte plusieurs points, ça ne retourne pas ce que tu attends
    Je réponds à la demande :
    Citation Envoyé par kaking Voir le message
    voila, je voudrais recuperer les caracteres situés apres le . de ma variable generée automatiquement
    pour kaking pour comprendre il faut lire :
    split
    substring
    indexOf
    lastIndexOf peut aussi être intéressant.

  11. #11
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    Je dirais que lastIndexOf() est fait pour perso, mais tant que ça marche après tout…

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    plusieurs solutions sont possibles

    les lastIndexOf ... avec des substring etc


    mais il est tout de même bien plus simple de le faire en une seule ligne non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var a="chemindecroix/repertoireperdu/finfonduddisquedur/mavariableautomatique.flv";
    if (a.split('.').length>1){alert(a.split('.')[(a.split('.').length-1)])}
    ce qui n'est ni plus ni moins que la première réponse donnée par Andry

  13. #13
    Membre émérite 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
    Points : 2 953
    Points
    2 953
    Par défaut
    substring est plus court!

  14. #14
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    Je veux pas faire le casse couille, c'est surtout :
    le spliit est tout indiqué
    que je me permet de contester.

    Ok, ça marche, mais on a une chaine de caractères, on a une méthode spécifique aux chaines de caractères pour avoir la dernière occurence d'une autre chaine… pourquoi recommender les tableaux ?

  15. #15
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    mouaip plus court mais si il n'y a pas d'extension ? pas de point ?

    autre chose qui n'a rien à voir ... eviter d'untiliser e comme variable

  16. #16
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    bah si y'a pas de point, ça renvoie la chaine complète. Comme le split…

    -1 + 1 = 0

    et le "e" c'est pour faire écho à mon "heu" d'étonnement :p

  17. #17
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    non j'ai collé un test >1

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

Discussions similaires

  1. Comment récupérer une variable en javascript?
    Par Balthazar117 dans le forum jQuery
    Réponses: 8
    Dernier message: 29/09/2010, 15h31
  2. passer une variable vers javascript
    Par eric204044 dans le forum Langage
    Réponses: 2
    Dernier message: 01/07/2010, 10h07
  3. passer une variable de javascript vers php
    Par marcel marie dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/07/2009, 11h01
  4. Réponses: 2
    Dernier message: 22/02/2007, 14h00

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