L'objet String JavaScript et démonstration interactive

L'objet String permet d'associer des méthodes aux chaînes de caractères. Il y a des différences entre une variable qui est une instance de String, et une variable à laquelle une chaîne est assignée directement.
Invoquer le constructeur est aussi un moyen de convertir des valeurs en objets chaînes.

Le constructeur String sert aussi à convertir en chaîne

Le constructeur admet un argument unique qui est une chaîne littérale ou un objet quelconque que l'on veut convertir en chaîne.

La syntaxe est:

var x = new String("chaine");

Exemple

var x = new String("demo");

On peut convertir un nombre en chaîne avec l'objet String:

var s = String(10) + 5
document.write(s)

Cela affiche 105 parce que les valeurs sont des chaînes et donc sont concaténées et non pas ajoutées:

Une variable peut être l'argument du constructeur, comme pour tout objet:

var y = "demo";
var x = new String(y);
document.write(x);

L'objet n'est pas interprété par la fonction eval:
var x = new String("5 + 5");
var y = eval(x);
document.write(y);

Ce n'est pas le cas d'une simple variable:
var x = "5 + 5"; 
document.write(x);
var y = eval(x);
document.write(y);

 

Attribut de longueur length

Length

Les codes spéciaux HTML ne sont pas interprétés:

var x = new String(" ");
document.write(x.length);

Essayer des chaînes avec accents:

A l'attribut length s'ajoutent les attributs hérités de Object.

On accède à un caractère par un indice

Comme pour un tableau, on peut indicer une chaîne pour obtenir le caractère à la position donnée:

var x = new String("démo");
document.write(x[2]);   // doit retourner m en position 2 à partir de zéro

On obtient le même résultat avec la méthode charAt.

Mais est-il aussi possible de remplacer un caractère à une position indicée?

x[1] = "Z"; 
document.write(x);   // devrait afficher dZmo

Malheureusement cela ne fonctionne pas! On doit donc utiliser d'autres méthodes de l'objet String:

x = x.substr(0,1) + "Z" + x.substr(2);
document.write(x);

Ou plus généralement:

x = x.substr(0,indice) + "Z" + x.substr(indice+1); 

chr et ord en JavaScript

La valeur Unicode d'un caractère (fournie par la fonction ord dans d'autres langages) est obtenue par cette méthode:

x = y.charCodeAt(position); 

La position est 0 quand la chaîne a un seul caractère.

Pour remplacer chr et obtenir le caractère correspondant à une valeur Unicode, écrire:

y = String.fromCharCode(x);

L'argument est une valeur Unicode.

Méthodes de String

Démonstration interactive

Entrer un argument pour le constructeur String

position

chaîne

couleur

chaîne

expression régulière

expression régulière remplacement

expression régulière

position début position fin

séparateur

position début longueur

position début position fin

Pour utiliser replace() avec une chaîne à remplacer, la mettre entre guillemets.

Description des méthodes
x = y.anchor(nom)
Crée une ancre à partir de la chaîne et d'un nom que l'on donne en paramètre.
x = y.charAt(position)
Retourne le caractère à la position donnée en argument à la méthode, en partant de zéro.
x = y.charCodeAt(position)
Retourne la valeur Unicode du caractère à la position donnée.
Pour retrouver le caractère à partir de ce code on écrit x = String.fromCharCode(x).
x = y.concat(chaîne1 [, chaîne2, ...)
Combine la chaîne avec une ou plusieurs autres et retourne la nouvelle chaîne.
y.fontcolor(couleur)
Affiche la chaîne dans la couleur donnée en argument sous forme numérique comme #006600 ou textuelle comme "blue".
Les méthodes fontsize, bold, italic, strike, sub, sup, big, small, blink sont d'autres fonctions de présentation de String.
Voir les propriétés CSS correspondantes. Le nom est le même sauf font-size.
x = y.indexOf(chaîne [, position])
Retourne la position dans la chaîne originelle, d'une autre chaîne donnée en paramètre. La fonction est sensible à la casse.
Retourne -1 si la chaîne n'est pas trouvée. La position où commence la recherche est optionelle.
Le méthode lastIndexOf retourne la position à partir de la droite de la première occurence de la chaîne en argument.
x = y.link(URL)
Crée un lien hypertexte avec la chaîne comme ancre et l'URL donnée en paramètre.
x = y.match(reg exp)
Retourne le résultat d'une expression régulière appliquée à la chaîne. La méthode retourne un tableau s'il y a plusieurs occurences trouvées dans la chaîne.
x = y.replace(reg exp, chaîne ou fonction)
Remplace les occurences de l'expression régulière donnée en premier paramètre, par la chaîne qui est le second paramètre, puis retourne le résultat sans changer l'objet originel. Le premier argument peut être plus simplement une chaîne mais dans ce cas seule la première occurence sera remplacée.
Si le second argument est une fonction, la valeur de retour de la fonction remplace les occurences trouvées.
x = y.search(reg exp)
Cherche l'expression régulière (ou une simple chaîne) et retourne la position. Retourne -1 si elle n'est pas trouvée.
x = y.slice(début [, fin])
Extrait une partie d'une chaîne et retourne le résultat sans modifier la chaîne originelle. La partie à extraire est définie par les paramètres début et fin, la position de fin non incluse. Si fin est omis, c'est la fin de la chaîne qui est utilisée comme second paramètre.
Si on donne en paramètre: 0 et length, cela retourne donc la même chaîne.
Le second argument peut être négatif et dans ce cas, il est soustrait de la longueur de la chaîne.
x = y.split(séparateur [, limite])
Divise une chaîne en sous-chaînes qui sont assignées à un tableau. Le séparateur est l'élément utilisé pour reconnaître les parties, généralement un espace blanc ou une virgule, il ne sera pas intégré au tableau. L'argument optionnel "limite" indique le nombre maximal d'éléments à placer dans le tableau.
x = y.substr(début, longueur)
x = y.substring(début, fin)
Ces deux fonctions extraient une sous-chaîne d'une chaîne. Substring a les mêmes paramètres que slice. Substr correspond à la fonction du langage C, on donne en paramètres la position de la sous-chaîne et le nombre de caractères. Une sous-chaîne est retournée sans que la chaîne originale ne soit changée.
x = y.trim()
Supprime les espaces et caractères spéciaux au début et à la fin de la chaîne. ECMAScript 1.8.
toLowerCase et toUpperCase
Convertissent la chaîne respectivement en minuscules et majuscules. Ces méthodes n'ont aucun paramètre et ne modifient pas l'objet.
© 2008-2014 Xul.fr