L'objet String
L'objet String permet de manipuler du texte. Une string agit comme un
vecteur de caractères. Le premier caractère est à l'indice 0. Cet objet n'a qu'une propriété, lenght, qui retourne la longueur de la chaîne de caractères. String a aussi
plusieurs méthodes permettant de formater le texte avec des balises HTML ou à
accomplir des actions sur les chaînes.
Un objet String est créé par défaut
lorsqu'on déclare une variable contenant une chaîne de caractères. Le contenu
d'une string doit être entouré de guillemets ou apostrophes. L'objet string a
un constructeur permettant de l'instancier avec le mot clé new.
Les guillemets
Puisqu'une string est délimitée par des
guillemets, comment peut-on inclure des guillemets dans le texte de la string?
Pour se faire, vous devez utiliser un caractère d'échappement. Il en va de même
pour tous les caractères non affichable qu'on désire insérer dans une string.
Un caractère d'échappement est un caractère précédé d'un antislash (\).
Exemple :
// On doit mettre \" pour insérer des
guillemets et \' pour les apostrophes
var dialogue = "Isabelle le salua : \" Bonjour \'Mr.\'
Deslauriers ! \" ";
// Il est important de savoir que \\ insère un antislash afin de donner
les chemins d'accès
// correctement
document.write("Le fichier se trouve sur C:\\temp\\fichier2.txt");
Les sous-chaînes
Substring()
La méthode substring() permet d'extraire une sous-chaîne d'une string. Il faut lui donner en paramètre l'indice de début et
de fin de la portion à extraire de la chaîne d'origine.
Exemple :
var texte = "Le caméléon
se fait dorer au soleil";
var sousChaine = texte.substring(7, 25);
// sousChaine contient "léon se fait dorer"
substr()
Cette méthode ressemble sensiblement à la précédente, à l'exception du fait que
son deuxième paramètre au lieu d'être la position de fin est la longueur à
extraire.
Exemple :
var sousChaine2 =
texte.substr(7, 18); //
sousChaine2 contient "léon se fait dorer"
Il est important de ne pas oublier que les
index débutent avec l'index 0 et que les espaces sont également des caractères.
slice()
Cette méthode qu'on a déjà vu, s'utilise sur les strings comme sur les
vecteurs. Sa différence avec la méthode substring() set qu'elle accepte comme
deuxième paramètre des nombres négatifs. Ces nombres signifient qu'on donne un
indice à partir de la fin de la string.
Exemple :
var sousChaine3 =
texte.slice(26, -7); // sousChaine3
contient "au"
La concaténation
Concat()
Javascript nous permet également de combiner ensemble
des strings, c'est-à-dire de les concaténer; les mettre bouts à bouts. Ainsi,
la méthode concat() colle une chaîne à la fin d'une autre. La première
chaîne sera celle dont la méthode est invoquée, la seconde est passé en
paramètre.
Exemples :
var source = "Walt
Disney est l'inventeur";
var resultat =
source.concat(" du dessin animé moderne.");
// Resultat contient "Walt Disney est
l'inventeur du dessin animé moderne."
// On peut passer une variable en
paramètre à la méthode concat()
// Ou on peut remplacer l'appel de la méthode concat() par l'utilisation de
l'opérateur +
var str1 = "Bambi est ";
var str2 = "le 2ième long métrage animé";
var resultat2 = str1.concat(str2);
var resultat2 =
str1 + str2;
// Ces deux méthodes donnent le même résultat "Bambi est le 2ième long
métrage animé"
// On peut aussi utiliser l'opérateur += pour affecter le résultat de
la concaténation à
// à la string appelante
str1+= str2;
// alors le résultat est dans str1.
Le formatage de texte
L'objet String comporte de nombreuses méthodes permettant de
formater le texte afin de choisir l'apparence qu'il prendra dans la page Web.
Ainsi ces méthodes permettent d'éviter d'ajouter des balises HTML dans le code.
Par exemple, la méthode big() fait en sorte que le texte soit afficher
en caractères gras. La taille de la police peut être modifiée grâce à
fontsize() qui reçoit en paramètre un nombre entier entre 1 et 7 où 7 est
la taille la plus grande. La couleur de la police se modifie via fontcolor()
qui accepte en paramètre un nom de couleur ou bien sa valeur hexadécimale.
Fonctions membres qui permettent
d'appliquer des commandes HTML
| .sub() |
Met le texte en indice |
.small() |
Réduit la police |
| .sup() |
Met le texte en exposant |
.big() |
Augmente la police |
| .blink() |
Clignotement |
.strike() |
Mot barré |
| .italics() |
Met en italique |
.Anchor(Nom) |
Crée une ancre du nom donné |
| .bold() |
Met en gras |
.link(URL) |
Crée un lien |
| .fontcolor('red') |
Met en la couleur voulue |
.fontsize('8') |
Met de la taille voulue |
Exemples :
// La ligne de code correcte pour créer
un lien écrit en gras serait semblable à celle-ci
document.write("Lien.com".bold().link( ' URL '));
Il existe également des fonctions qui
permettent de mettre des caractères en indices,sub(), ou en exposants,sup().
La différence de position des caractères est plus évidente lorsque mise à
côté de texte non formaté.
Exemples :
document.write("H" + "2".sub()
+ "0");
// Affichera H20
document.write("Y" + "2".sup()); // Affichera Y2
Ancrages
Toutes les string peuvent être
transformées en liens ou en ancrage. Pour créer un lien, il faut appliquer à
une string la méthode link() recevant en paramètre un href, une adresse de
site. L'adresse peut être relative ou absolue, un URL absolu doit est précédé
de son protocole, par exemple HTTP://. Pour qu'un lien soit dirigé vers
une ancre, il faut lui donner en paramètre le nom de l'ancrage précédé du
symbole #.
Exemples :
document.write("Voici un
lien".link(www.amazon.com));
var lien = "Enchères";
document.write(lien.link(http://www.ebay.ca));
document.write("ancrage".link(#ancr1));
Un ancrage est une cible à l'intérieur de
la page qui sera atteint par un lien, c'est-à-dire que lorsqu'on clique sur
un lien, on est amené plus haut ou plus bas dans la page où se trouve
l'ancrage. La méthode anchor() prend en paramètre le nom qu'on veut donner à
cet ancrage. Le menu de gauche de cette page fonctionne avec des
ancres.
Exemple :
document.write("crée une
ancre".anchor("ancr1"));
Longueur chaîne
La seule propriété de l'objet String est
length, qui retourne la longueur d'une chaîne en y comptant tous ses
caractères, espaces et balises html compris. Les caractères d'échappements,
tels que \" ou \t sont comptés comme un seul caractère. Length est très
utile dans les boucles pour itérer dans une chaîne.
Exemple :
var str = "Allo";
document.write(str.length);
// Retourne 4
Modifier la casse
Il est souvent utile de modifier la casse
d'un texte afin de le valider ou de l'afficher d'une manière uniforme. Ainsi il
est possible de convertir une string en majuscules, toUpperCase(), ou
minuscules, toLowerCase(), vice et versa. Si certaines données doivent
être conservées dans une base de données et ensuite être recherchées, il est
judicieux de les conserver toutes en majuscules ou minuscules afin de permettre
des recherches non sensibles à la casse.
Exemples :
var texte = "Sur Internet
écrire en majuscules signifie qu'on crie";
document.write(texte.toLowerCase());
// Résultat : sur internet écrire en majuscules signifie qu'on crie
document.write(texte.toUpperCase());
// Résultat : SUR INTERNET ÉCRIRE
EN MAJUSCULES SIGNIFIE QU'ON CRIE
Rechercher chaîne
La méthode de l'objet String qui permet de
rechercher dans une chaîne est search(). Le paramètre de cette méthode
est la section de chaîne à trouver dans une chaîne donnée. Cette méthode
retourne l'index de la position de la chaîne cherchée ou -1 si la chaîne n'a
pas été trouvée.
Exemple :
var texte = "Le corbeau
vivait au cimetière";
if (texte.search("chien") == -1)
document.write("Le texte à rechercher n'existe pas.");
Il existe d'autres méthodes pour effectuer
des recherches dans les string. La méthode indexOf() permet de trouver
des occurrences de texte dans une chaîne. Elle peut accepter un seul paramètre
étant l'occurrence à trouver et peut également avoir une deuxième paramètre
indiquant l'indice de départ de la recherche. Pour effectuer la recherche
à partir de la fin, on peut utiliser la méthode lastIndexOf().
Remplacer texte
Javascript offre une méthode nommé
replace() pour remplacer automatiquement une partie d'une string avec une
autre. La méthode accepte comme premier paramètre le texte à remplacer et comme
second le texte à y mettre à la place. Cette méthode ne remplace que la
première occurrence trouvée. Pour remplacer toutes les occurrences, il faudrait
recommencer la méthode en boucle.
Exemple :
var texte = "J'aime les
livres, les films et les friandises.";
texte = texte.replace("les", "");
// texte = "J'aime livres, les films et les
friandises."
Découper chaîne
Javascript nous donne une méthode nommée
split() qui permet de découper une chaîne en peuplant un vecteur de chaque
sections de la chaîne délimitées par un caractère. La méthode n'accepte qu'un
paramètre qui est le séparateur à localiser dans la chaîne pour en isoler les
morceaux. La méthode retourne le vecteur où chaque élément ne comprend pas le
séparateur.
Exemple :
var phrase = "Les rois du
monde";
var vecteur = phrase.split(" ");
// Le séparateur choisi est l'espace
blanc
document.write(vecteur[1]);
// Affichera : rois
|