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 :

Comparaison de chaînes


Sujet :

JavaScript

  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut Comparaison de chaînes


    J'ai un champ dans un formulaire créé dynamiquement qui permet suivant un paramètre, de rentrer une heure. Je fait un contrôle de saisie sur la validité du format que voici:
    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
    33
    34
    35
    36
    37
    for (i = 1; i < col; i++) {
        v = "";
        if (tpe == 'A') {
            v = document.getElementById("contenu_dgMesures_txt" + tpe + i).value;
        }
        else {
            v = document.getElementById("contenu_dgMesures_txt" + tpe + i + "_" + item).value;
        }
        if (trim(v) != "") {
            k += 1;
            p = document.getElementById("contenu_dgMesures_hdParam" + i).value;
            switch (p) {
                case "1013":
                    if (v != "") {
                        if (!isDate(v,'HH:mm')) {
                            if (v < "00:00" || v > "24:00") {     
                                msg += "Colonne " + (i + 1) + ", temps invalide!\n";
                                j += 1;
                            }
                        }
                    }
                    break;
                case "937":
                    if (isNaN(v.replace(",", "."))) {
                        msg += "Colonne " + (i + 1) + ", valeur non numérique!\n";
                        j += 1;
                    }
                    break;
                default:
                    if (isNaN(v) || v.indexOf(".") != -1) {
                        msg += "Colonne " + (i + 1) + ", valeur non numérique!\n";
                        j += 1;
                    }
                    break;
            }
        }
    }
    Mon soucis est ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    case "1013":
        if (v != "") {
            if (!isDate(v,'HH:mm')) {
                if (v < "00:00" || v > "24:00") {     
                    msg += "Colonne " + (i + 1) + ", temps invalide!\n";
                    j += 1;
                }
            }
        }
        break;
    Lorsque dans mon TextBox (en ASP.Net) je saisie l'heure suivante: "06 : 55" (remarquez bien les espaces que je met pour tester le contrôle), ma comparaison passe comme réussie et du coup le programme reconnait ce format comme valable lors du passage au dernier if où je fait deux comparaisons. Or la chaîne devrait être supérieur et donc renvoyer une erreur à l'utilisateur mais non ! Comment je peut résoudre ce problème ?



  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 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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    remplace les espace ?

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    remplace les espace ?
    Non
    Il faudrait que je renvoie un alert() à l'utilisateur

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    En fait il y a une bétise dans le code que je viens tout juste de remarquer, la dernière condition n'a pas lieu d'être étant donné que le format de l'heure n'est pas valide après retour de isDate() !

    Désolé du dérangement

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

Discussions similaires

  1. [Excel-VBA] Pb de comparaison de chaîne de caractères
    Par tangjuncn dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/02/2007, 12h50
  2. [String] Comparaison de chaînes ?
    Par toto019 dans le forum Langage
    Réponses: 4
    Dernier message: 21/07/2006, 23h18
  3. Comparaison de chaîne (avec pourcentage ou...)
    Par yves232 dans le forum Langage
    Réponses: 4
    Dernier message: 26/04/2006, 17h23
  4. Comparaison de chaînes
    Par log2n dans le forum Assembleur
    Réponses: 12
    Dernier message: 20/02/2006, 19h21
  5. MySQL, et les comparaisons de chaînes en cyrillique, Chinois
    Par SuperCed dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 15/12/2005, 15h24

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