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 :

Déceler une chaîne de caractère


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 200
    Par défaut Déceler une chaîne de caractère
    Bonjour !

    J'ai un petit souci concernant un petit code d'un exercice qui demande de rentrer des info via un <form> et avec le javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     form.addEventListenet("submit", function(e){})
    qui va bien avec !!
    Dans le troisième encadré, on demande à l'utilisateur d’insérer un lien. On peut considérer que l'utilisateur pourra mettre "http://exemple.com" ou juste "exemple.com" mais dans les 2 cas, lors de la soumission, le résultat affichera "http://exemple.com"
    Mon souci c'est que pour la seconde façon sans le "http://" y'a pas de souci puisque je vais l'ajouter après avec une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lienfinal = "http://" + lien;
    Mais le souci c'est que si l'utilisateur met bien le "http://" ça va me créer un doublon de "http://"
    J'ai pensé dans un premier temps au regex, mais j'avoue que j'ai un peu de mal avec ça...
    J'ai tenter un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (lien != /http:///){ lienfinal = "http://" + lien};
    Mais ça ne marche pas vous vous en doutez...
    Bref je veux bien de vos lumières merci =)

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    tu pourrais regarder avantageusement du côté de

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 200
    Par défaut
    Hummm... Je pourrais essayer avec ça effectivement, mais avec des regex c'est pas possible ?

  4. #4
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    teste si la chaine commence par ...
    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 !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 200
    Par défaut
    Du coup j'ai testé avec le "Startswith" j'ai un début de quelque chose mais il reste apparemment un souci.

    j'ai donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var urlF = document.createElement('input');
    urlF.name = "urlN";
    var urlS = form.elements.urlN.value;
    var search = urlS.startsWith('http://');
    console.log(search);
    En fonction de ce que je met dans l'encadrer il me met bien "true" ou "false" en fonction de si j'ai mis "http://" avant... Jusqu'à là, pas de souci.
    Par contre avec la condition après :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (search = false){
                console.log("il n'y a pas le http")
            }else{
                console.log("il y a le http")};
    avec cette condition, que se soit true ou false, j'ai toujours "il y a le http"


    edit : je viens de voir ta réponse Spacefrog... Je vais essayer de suite

    edit2 : j'ai essayé avec ta solution Spacefrog et j'ai le même souci avec la condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var regex = /^http:[/]{2}/;
            var result = regex.test(urlS);
            console.log(result);
     
            if (result = false){
                console.log("ya pas le http")
            }else{
                console.log("ya le http")};

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Salut

    if (search = false){ et if (result = false){
    if (search == false){ et if (result == false){
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 200
    Par défaut
    Ha oui forcément =) Merci ProgElecT

    Sinon on m'a aussi dit que je pouvais tout simplement faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lienFinal = 'http://' + urlS.replace(/https?:\/\//,'');
    Mais par contre on m'a un peu soufflé la réponse sans me donner l'explication, et je ne suis pas fan de c/c sans savoir ce que je fais... Donc j'aimerais bien avoir une petite explication sur cette ligne.... Merci

  8. #8
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    tu rajoutes https au début d'un chaine à la quelle tu enlève https si il set présent (ce que fait le replace avec la reg)
    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 !

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 200
    Par défaut
    Merci SpaceFrog =)

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Saisie et affichage d'une chaîne de caractères
    Par sali dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/03/2004, 18h01
  3. [Debutant(e)] Analyse d'une chaîne de caractères
    Par maire106 dans le forum Langage
    Réponses: 6
    Dernier message: 22/03/2004, 15h04
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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