Exercice 32/38

Dans le fichier "script.js" :

  • déclarez la variable result;
  • attribuez le texte suivant à result : L'équipe gagnante a déclaré "we are the champions" à l'ensemble de la presse;
  • cliquez sur "Soumettre ma réponse".

Leçon 32/38

Une variable de type string permet de stocker du texte. Le texte est délimité par des guillemets doubles " ou simples '.

Exemple :

var chaine1 = "Voici du texte";
var chaine2 = 'Voici du texte';

Il se peut que vous souhaitiez mettre dans votre variable string des caractères spéciaux qui sont interprétés par Javascript.

Exemple :

var chaine1 = 'C'est une chaine de caractères';
var chaine2 = "Dans quel ouvrage "être ou ne pas être : telle est la question" apparaît-il ?";

Ci-dessus, Javascript va interpréter le guillemet simple (dans la chaine1) et les guillemets de la citation (dans la chaine2) et les chaînes de caractères vont être tronquées :

var chaine1 = 'C';
var chaine2 = "Dans quel ouvrage ";

Pour que les caratères spéciaux ne soient pas interprétés, il faut les échapper avec un anti-slash \ :

var chaine1 = 'C\'est une chaine de caractères';
var chaine2 = "Dans quel ouvrage \"être ou ne pas être : telle est la question\" apparaît-il ?";

Commentaires les mieux notés

  • oumohhamza04-91

    Mais le meme problem toujours de le txt n'a pas valide

  • dmjolison40

    Bonjour, après plusieurs essaie je ne vois pas mon erreur, pouvez-vous m'aider s'il vous plait? merci

  • jordan.stover.13400

    Même avec un "L" majuscule on me dit que erreur.

  • jenebakone

    effectivement je me suis trompée en mettant des slash.Merci

52 Commentaires

  • dmjolison40

    dmjolison40

    Bonjour, après plusieurs essaie je ne vois pas mon erreur, pouvez-vous m'aider s'il vous plait? merci

    le 07/08/2018 à 05h42

  • mram

    mram Administrateur

    Bonjour, vous n'échappez pas les bons caractères en mettant \ devant.

    Si votre texte est encadré par des guillemets doubles et que le texte lui-même en contient (par exemple si on fait une citation) alors il faudra échapper tous les guillemets doubles dans le texte. Les guillemets simples ne poseront pas de problème.

    Et invesement si vous encadrez votre texte avec des guillemets simples.

    le 13/08/2018 à 03h53

  • jordan.stover.13400

    jordan.stover.13400

    Même avec un "L" majuscule on me dit que erreur.

    le 26/04/2017 à 14h46

  • jenebakone

    jenebakone

    effectivement je me suis trompée en mettant des slash.Merci

    le 19/10/2016 à 11h33

  • mram

    mram Administrateur

    C'est corrigé, l'exercice sera mis à jour prochainement.

    le 19/05/2016 à 21h38

  • v.redois

    v.redois

    Code vérifié avec "alert()" mais non reconnu comme juste. Lien avec l'erreur rapportée au commentaire précédent ?

    le 19/05/2016 à 21h38

  • mram

    mram Administrateur

    Ah je vois, c'est parce que vous avez mis un point en fin de phrase (ce qui est logique niveau grammaire) mais dans les instructions la phrase qu'on donne n'en a pas. Du coup quand on compare ça ne passe pas. Je vais revoir ça pour que ce soit moins contraignant...

    le 28/04/2017 à 15h19

  • v.redois

    v.redois

    Il y a une erreur dans le deuxième exemple : l'anti-slash doit être avant le guillemet ouvrant.

    le 19/05/2016 à 21h38

  • yorickferlin

    yorickferlin

    Bonjour, j'ai essayé : var result = "L'équipe gagnante à déclaré \"we are the champions\" à l'ensemble de la presse"; ainsi que var result = "L\'équipe gagnante à déclaré \"we are the champions\" à l\'ensemble de la presse"; Mais aucune des deux ne fonctionne.

    le 01/12/2016 à 10h20

  • sofiane.tati

    sofiane.tati

    Pareil pour moi mais c'est peut-être du à l'oubli de placer des antislash aux apostrophes ?

    le 30/05/2016 à 17h27

  • mram

    mram Administrateur

    Vous utilisez des guillemets doubles " pour délimiter votre chaîne de texte. Donc dans le texte il faut juste échapper les guillemets doubles, pas les simples.

    le 02/12/2016 à 13h48

  • mram

    mram Administrateur

    Non, dans votre cas pas besoin des antislash sur les apostrophes. L'exercice sera mis à jour ...

    le 30/05/2016 à 17h28

  • bsmeyers84

    bsmeyers84

    Je pense que mon code est bon mais je ne peu pas passer a l'exercice suivant car dés que je soumet ma réponse il me dit "AVEZ VOUS BIEN MIT LE BON TEXT DANS "RESULT" EN ECHAPPANT LES CARACTERES QU'IL FAUT?

    le 20/07/2016 à 10h46

  • jordan.stover.13400

    jordan.stover.13400

    Bonjour, Je ne vois pas ou j'ai faux, sur ce site le code marche : https://www.w3schools.com/js/tryit.asp?filename=tryjs_strings_escape

    le 17/04/2017 à 16h06

  • mram

    mram Administrateur

    Il faut un espace avant le "à" ...

    le 20/07/2016 à 13h21

  • yehia.maxime

    yehia.maxime

    je vois pas ce qu'il y a de faux dans mon code: var result="L'équipe gagnante a déclaré\"we are the champions\" à l'ensemble de la presse";

    le 09/01/2017 à 07h08

  • yehia.maxime

    yehia.maxime

    c bon j'ai trouvé

    le 09/01/2017 à 07h11

  • mram

    mram Administrateur

    Il doit manquer le "L" majuscule en tout début de phrase.

    le 22/04/2017 à 11h22

  • jenebakone

    jenebakone

    bonjour j'obtiens le message d'erreur suivant "unexpected identifier".Que signifie t'il?

    le 18/10/2016 à 11h43

  • mram

    mram Administrateur

    Vous n'avez pas utiliser d'antislah, relisez les explications.

    le 19/10/2016 à 10h41

  • Carine1972

    Carine1972

    Bonjour, Je ne vois pas mon erreur...

    le 30/08/2017 à 17h37

  • mram

    mram Administrateur

    Bonjour, il ne fallait pas échapper le ' mais juste les " dans votre cas. Ce que vous avez fait par la suite d'ailleurs.

    le 06/09/2017 à 09h43

  • ant.villard-11

    ant.villard-11

    bonjour,je ne trouve pas mon erreur aprés multiples tentatives pourriez-vous m'aider merci

    le 17/04/2018 à 17h09

  • mram

    mram Administrateur

    Bonjour, pouvez-vous m'expliquer ce que vous avez compris de l'énoncé ? Afin de voir si vous avez saisi le principe ou pas.

    le 18/04/2018 à 05h10

  • Carine1972

    Carine1972

    Ah ça y est ! J'avais juste mis We au lieu de we...

    le 31/08/2017 à 14h56

  • brunocarriere

    brunocarriere

    Bonjour, qu'est ce qui est faux dans mon code ?? pourtant avec la commande alert le texte s'affiche comme demandé. Mon code: var result = "L\'équipe gagnante a déclaré \"We are the champions\" à l\'ensemble de la presse";

    le 05/01/2018 à 15h08

  • mram

    mram Administrateur

    Bonjour, si vous utilisez les guillemets doubles pour entourer votre texte. Alors seuls les guillemets doubles qui sont dans le textes doivent être échappés avec un \ devant. Mais pas les guillemets simples.

    le 07/01/2018 à 02h07

  • brunocarriere

    brunocarriere

    Non c'est bon j'avais me We au lieu de we (plusieurs minutes de recherche juste pour ça fallait le deviner :D )

    le 05/01/2018 à 15h10

  • mram

    mram Administrateur

    Peut-être, mais comme j'ai dit, pas besoin d'échapper les guillemets simples si vous entourez votre texte avec des guillemets doubles.

    le 07/01/2018 à 02h08

  • tlemsani_r

    tlemsani_r

    Bonjour, je ne vois pas ou j'ai fait une erreur. Pouvez-vous m'orienter svp ?

    le 03/10/2017 à 11h39

  • mram

    mram Administrateur

    Bonjour, vous aviez oublié le point-virgule en fin de ligne. L'erreur venait peut-être de là.

    le 03/10/2017 à 22h22

  • tlemsani_r

    tlemsani_r

    une simple faute d'orthographe dans mon code :-p

    le 03/10/2017 à 11h46

  • david.aitmessaoud-31

    david.aitmessaoud-31

    Bonjour, pouvez-vous m'orienter? (difficile JavaScript :-) )

    le 26/06/2018 à 12h39

  • mram

    mram Administrateur

    Il ne faut pas échapper ' et " . C'est soit l'un soit l'autre et ceci dépend de ce que vous utilisez comme guillemets (simple ou double) pour délimiter la chaine de caractères.

    le 28/06/2018 à 03h52

  • pauline.morganti

    pauline.morganti

    var result="L'équipe gagnante a déclaré \"We are the champions\" à l'ensemble de la presse"; alert(result); Toujours pas mieux !

    le 19/11/2017 à 11h13

  • mram

    mram Administrateur

    Bonjour, c'est à cause du "W" majuscule.

    le 22/11/2017 à 00h56

  • angelique.tre-90

    angelique.tre-90

    bonjour,je ne trouve pas mon erreur est-il possible de m'aider? Merci

    le 18/06/2018 à 17h33

  • mram

    mram Administrateur

    Bonjour, attention à la position des antislashs, ils doivent être avant le caractère que l'on souhaite échapper.

    le 24/06/2018 à 05h26

  • sandydn78-57

    sandydn78-57

    bonjour je ne trouve pas mon erreur

    le 01/08/2018 à 17h01

  • mram

    mram Administrateur

    Bonjour, quel message avez-vous ?

    Votre code semble correct.

    le 05/08/2018 à 00h15

  • baptviv

    baptviv

    var result="L\'équipe gagnante a déclaré\"we are the champions\"à l\'ensemble de la presse"; pourquoi cela ne marche pas ??

    le 07/03/2018 à 15h24

  • mram

    mram Administrateur

    Bonjour, si vous utilisez des guillemets doubles pour encadrer la chaîne de caractères, alors seuls ces guillemets (si ils sont présents dans le texte) devront être échappés, pas les guillemets simples.

    le 08/03/2018 à 23h18

  • markenzyh

    markenzyh

    je suis bloqué depuis un moment,pouvez vous me dire pourquoi c'est faux svp var result="L'équipe gagnante a déclaré\"we are the champions\"à l'ensemble de la presse";

    le 05/12/2017 à 13h34

  • mram

    mram Administrateur

    Bonjour, il manquait un espace après "déclaré".

    le 10/12/2017 à 13h49

  • JAOIDE

    JAOIDE

    Bonjour, Vérifiez bien : la leçon, tout est indiquée dessus.

    le 28/10/2018 à 15h20

  • nkeshimanabrice-37

    nkeshimanabrice-37

    merci bien...

    le 18/03/2019 à 14h31

  • aymoh-14

    aymoh-14

    merci

    le 11/12/2018 à 14h34

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Les caractères spéciaux</title> <script src="script.js"></script> </head> <body> </body> </html>