L’objet String | Développement Web

L’objet String

Javascript est un langage objet et les chaînes de caractères sont donc des objets de type String.

Les méthodes et les propriétés de l’objet String permettent de manipuler ces chaînes de caractères avec plus de facilité.

Pour exploiter ces différentes méthodes et propriétés, nous utiliserons la notation pointée : myString.nomPropriete donnant accès à la valeur de la propriété et myString.nomMethode() permettant d’exécuter la méthode appelée.

Accès direct aux méthodes:
length(), charAt(), charCodeAt(), substring(), indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), association de méthode

La longueur d’une chaîne de caractères

La propriété permettant de donner la longueur d’une chaîne (comme d’un tableau d’ailleurs) est la propriété length.

   var myString = 'Apprendre le javascript';

   document.write(myString.length);

   // affichera 23

Accéder à un caractère

Pour accéder à un caractère dans un objet de type String, nous utilisons la méthode charAt() qui attend en paramètre la position du caractère à atteindre. Comme pour les tableaux, la première position d’un élément a pour valeur 0.

Le dernier élément aura donc logiquement comme position myString.length – 1.

   var myString = 'Le javascript, langage objet';

   document.write(myString.charAt(5));

   // affichera v

Codage des caractères

Pour obtenir la valeur numérique décimale du code correspondant au caractère d’une chaîne, nous utilisons la méthode charCodeAt(). On lui fournit l’indice du caractère que l’on souhaite coder ou directement le caractère. La table de correspondance est la table ASCII.

   var myString = 'Le javascript, langage objet';

   document.write(myString.charCodeAt(0));
   // Affiche 76

   // La méthode inverse renvoie la chaîne de caractères correspondant au code
   var myString = String.fromCharCode(76,76,76);

   document.write(myString);
   // Affiche LLL

La méthode substring()

La méthode substring() permet d’extraire une chaîne de caractères un peu comme la méthode slice() permet d’extraire une tranche d’un tableau.

Elle attend 2 arguments, à savoir l’indice du premier caractère et l’indice du dernier. En ne fournissant qu’un seul argument à la méthode, la chaîne retournée sera celle commençant à l’indice donné.

   var myString = 'L\'objet String';
   var deb = myString.substring(2,7);

   document.write(deb);
   // Affiche "objet"

   var deb = myString.substring(2);

   document.write(deb);
   // Affiche "objet String"

Les méthodes indexOf() et lastIndexOf()

Ces 2 méthodes permettent de rechercher une expression dans une chaîne de caractère.

La méthode indexOf() renvoie -1 si l’expression n’est pas trouvée.

La méthode lastIndexOf() renvoie quant à elle la position de la dernière occurrence de l’expression recherchée. Si l’expression n’est pas trouvée, la méthode renvoie -1.

Cette méthode peut être pratique pour récupérer l’extension de l’adresse d’un site web par exemple.

   var myUrl = 'www.analyste-programmeur.com';

   // On recherche la position de la dernière occurrence du point
   var posLastPoint = myUrl.lastIndexOf('.');

   // On affiche l'extension à l'aide la méthode substring()
   document.write(myUrl.substring(posLastPoint));

   // Affiche ".com"

   // Tester l'existence d'une expression
   if(myUrl.indexOf('programme') != -1){
     document.write('Chaîne trouvée');
   } else {
     document.write('Chaîne non trouvée');
   }

L’écriture générale de cette méthode est myString.lastIndexOf(expression,depart). En renseignant l’argument depart (qui est facultatif), la recherche de l’expression commence à partir de la position depart. Si on ne fournit pas, la recherche commence en début de chaîne.

Les méthodes toLowerCase() et toUpperCase()

La méthode toLowerCase() permet de passer toute une chaîne de caractères en minuscule.
La méthode toUpperCase() permet quant à elle de passer une chaîne en majuscule.

   var myString = 'JavaScript';

   document.write(myString.toLowerCase());
   // Affiche javascript

   // Inversement, la méthode toUpperCase() passe la chaîne en majuscule

   document.write(myString.toUpperCase());
   // Affiche JAVASCRIPT

Exemple de script avec association de méthodes

Dans cet exemple, nous allons utiliser en même temps les méthodes charAt(), toUpperCase() et toLowerCase() ainsi que la concaténation. L’idée est de gérer la casse (minuscule et majuscule) pour des noms propres.

Nous allons créer une fonction capable de retourner la chaîne de caractères passée en argument avec la bonne casse.

   function getNomPropre(myString){
     return myString.charAt(0).toUpperCase() + myString.substring(1).toLowerCase();
   }

   document.write(getNomPropre('ParIS'));

   // affiche "Paris"