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 :

[debutante] recuperer des carateres d'une string


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 36
    Par défaut [debutante] recuperer des carateres d'une string
    Bonjour,
    j'ai une string de la forme: mm/jj/aa (oui c'est une date).
    comment faire pour recuperer ds un tableau mm, jj et aa; sachant que le mois et le jour ne sont pas forcément sur 2 positions.(1 ou 2 en fait)

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 221
    Par défaut
    split ! je crois que cela suffit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var dating = '18/10/1984';
    dating = dating.split('/');
    for (value in dating)
    alert(dating[value]);
    voila

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 36
    Par défaut expression reguliere
    Merci,
    mais c'est bon j'ai trouvé une solution en utilisant les expressions régulières

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 221
    Par défaut
    c'est tout de meme plus simple avec split ^^ va pas chercher l'objet regexp pour un truc que split gere simplement enfin ce n'est qu'un avis

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 36
    Par défaut Autre question
    J'aimerais savoir comment peut on faire pour transformer une chaine de caractere de la forme:
    mm/jj/aa
    au format date.
    (meme probleme que precedemment mm et jj sont sur 1 ou 2 positions)
    Merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 36
    Par défaut split ne marche pas comme je le voudrais...
    avec le format suivant: mm/jj/aa
    j'ai essayer split, le probleme c que ca me retourne que mm.
    Que dois je faire pour que ca me retourne chacun de mes champs?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 36
    Par défaut En une fonction
    J'ai reussi à récuperer mes différents champs à partir de ma string, en créant les 3 méthodes suivantes:

    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
       _extractDay: function (date)
        {
            var day;
     
            date=date.split('/',2);
            for (value in date){
                day =date[value];
            }
            return day;
        },
     
        _extractMonth: function (date)
        {
            var month;
     
            date=date.split('/',1);
            for (value in date){
                month =date[value]-1;
            }
            return month;
        },
     
        _extractYear: function (date)
        {
            var year;
     
            date=date.split('/',3);
            for (value in date){
                year ="20"+date[value];
            }
            return year;
        },
    Est ce qu'il est possible de combiner les 3 fonctions en une (perso j'ai pas pu parce que je ne pouvais pas utiliser le split plusieurs fois)

    Merci

  8. #8
    Membre confirmé Avatar de gKsam
    Profil pro
    Inscrit en
    Août 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 166
    Par défaut tu en as de la chance!!!
    Ton code fonctionne mais c'est parce que tu as de la chance

    je m'explique juste sur la fonction _extractYear que j'ai commenté pour l'occasion

    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
    _extractYear: function (date)
        {
            // Créer la variable year (jusque là tout va bien)
            var year;
     
            // Découper et mettre dans un tableau (de longueur 3) la chaîne de caractères date (là date de vient un tableau date[0]=>jour, date[1]=>mois, date[2]=>année
            date=date.split('/',3);
     
            // Pour toutes les valeur du tableau date (pourquoi parcourir tout le tableau ?)
            // donc si au départ date='04/03/76' => date[0]=04, date[1]=03, date[2]=76
            for (value in date){
     
                // la variable year = la valeur courante + '20'
                year ="20"+date[value];
            }
            // donc ta variable year est passée successivement à 2004 puis à 2003 et enfin à 2076
     
            // retourner year (2076 ouf!!! on l'a échappé belle)
            return year;
        }
    autre façon de faire qui me paraît plus sûr :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    _extractYear: function (date)
        { 
            date=date.split('/',3);
     
            return  '20'+date[2];
        }
    attention avec les dates codées sur deux chiffres. En général les valeurs de 0 à 69 sont converties de 2000 à 2069 et les valeurs de 70 à 99 en 1970 à 1999.

    à toi de jouer maintenant. C'est vrai que ce n'est pas évidant pour que les utilisateurs ou surtout les utilisatrices aient le choix dans la date.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 36
    Par défaut merci
    ok c cool j'ai saisi le truc, merci bcp.

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

Discussions similaires

  1. recupere des données d'une requete
    Par torNAdE dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/07/2006, 10h38
  2. Réponses: 5
    Dernier message: 16/06/2006, 14h01
  3. Réponses: 8
    Dernier message: 09/06/2006, 16h01
  4. Réponses: 6
    Dernier message: 30/11/2005, 15h15
  5. [C#] Récupération des contrôles d'une page
    Par corback dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/05/2005, 10h08

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