1
1 - La déclaration des chaînes 2 - Les opérations sur les chaînes 3 - Des exemples utiles 2
Pour déclarer une chaîne de caractères, vous pouvez utiliser les guillemets (") ou l'apostrophe ('). var chaine1="bonjour"; var chaine2='bonjour'; Ces deux lignes ont le même effet. 3
La concaténation L'opération de base est la concaténation de chaînes. Elle consiste à assembler deux chaînes en une seule. L'opérateur est le +, à ne pas confondre avec l'opérateur addition qui s'applique aux nombres. var chaine1="vive le "; var chaine2="javascript"; var chaine=chaine1+chaine2; La variable chaine contient après ce script "Vive le JavaScript". La concaténation est une opération simple et très utile. 4
La longueur d'une chaîne Une chaîne de caractères en javascript est un objet string sur lequel s'appliquent des propriétés et des méthodes. La propriété length indique le nombre de caractères de la chaîne. Pour une chaîne définie par var chaine="azerty"; chaine.length retourne le nombre de caractères, ici 6 caractères. 5
Récupérer le n ième caractère La méthode charat(n) récupère le caractère n. Attention, le premier caractère a comme indice 0. Pour une chaîne initialisée par var chaine="azerty", chaine.charat(1) retourne "z ". 6
// Affichage caractère par caractère for(i = 0 ; i < chaine.length; i++){ alert(chaine.charat(i)) } 7
Extraire une sous-chaîne Il est utile de pouvoir extraire un morceau d'une chaîne. Par exemple, déclarons la variable date="15/08/2000". La question est de récupérer le jour, le mois et l'année dans 3 variables différentes. var date = "15/08/2000"; var jour = date.substring(0,2); var mois = date.substring(3,5); var annee = date.substring(6,10); Après ce script, jour vaut 15, mois vaut 08 et annee vaut 2000 8
Retrouver une sous-chaîne dans une chaîne Deux méthodes permettent de retrouver une sous-chaîne d'une chaîne. Ces méthodes retrouvent la position d'une chaîne et retourne son indice. Par exemple, vous avez dans une variable javascript un nom de domaine et vous souhaitez retrouver l'extension : var domaine="www.toutjavascript.com"; var extension=domaine.substring(domaine.lastindexof(".")); La méthode lastindexof(souschaine) retourne l'indice de la dernière occurrence de souschaine. Si la sous-chaîne n'est pas trouvé, lastindexof retourne -1. 9
<SCRIPT> var domaine="www.toutjavascript.com"; alert(domaine.lastindexof(".")) var extension=domaine.substring(domaine.lastindexof(".")); alert(extension) </SCRIPT> 10
<SCRIPT> var domaine="www.toutjavascript.com"; alert(domaine.lastindexof(".")) var extension=domaine.substring(domaine.lastindexof(".")); alert(extension) </SCRIPT> 11
Retrouver une sous-chaîne dans une chaîne, le retour Il existe une autre méthode très proche chaine.indexof(souschaine,debut) qui retourne l'indice de la première occurrence de souschaine trouvée à partir du caractère debut de chaine. Cette méthode permet par exemple d'extraire le domaine d'une url complète : var url="http://www.toutjavascript.com/magicmenu/index.html; var domaine=url.substring(7,url.indexof("/",7)); La variable domaine contient dans cet exemple www.toutjavascript.com qui est une sous-chaine de url qui commence au caractère 7 et qui se termine au premier slash (/) après "http://". 12
MAJUSCULES / minuscules JavaScript offre deux méthodes pour transformer les lettres (et uniquement les lettres) d'un mot en majuscules ou en minuscules. var chaine="ceci est un texte"; var maj=chaine.touppercase(); var min=chaine.tolowercase(); A la fin de ce script, maj contient : CECI EST UN TEXTE et min contient : ceci est un texte 13
<SCRIPT> var chaine="ceci est Un texte"; var maj=chaine.touppercase(); var min=chaine.tolowercase(); alert(maj) alert(min) </SCRIPT> 14
Vérifier qu'un mail est valide Pour vérifier qu'un mail est valide, il suffit de tester la présence de @ et du point. function verifiermail(mail) { if ((mail.indexof("@")>=0)&&(mail.indexof(".")>=0)) { return true } else { alert("mail invalide!"); return false } } Cette fonction vérifie la présence du caractère @ et du. pour vérifier la validité. Si ces 2 caractères sont trouvés, la fonction retourne true sinon, elle affiche un message et retourne false. 15
<style>#message{color:red;}</style> <script> function verifmail(mail) { if(mail.indexof('@')>=0 && mail.indexof('.')>=0) return true; else return false; } </script> <body> Mail: <input id="mail" /> <label id="message"></label> <input value="vérifier" type="button" onclick="if(verifmail(document.getelementbyid('mail').value document.getelementbyid('message').innertext='email valide'; else document.getelementbyid('message').innertext='email invalide'; " /> </body> 16
Les noms propres Voici une fonction qui ajoute une majuscule à la première lettre d'un mot. Par exemple pierre, Pierre ou PIERRE deviennent Pierre. function nompropre(mot) { var m=mot.charat(0).touppercase() + mot.substring(1).tolowercase(); return m; } Dans cette fonction, on récupère le premier caractère pour le mettre en majuscule et on lui ajoute le reste du mot forcé en minuscules. 17
Remplacer toutes les occurrences d'une sous-chaîne Cette fonction recherche dans une chaîne expr toutes les occurrences d'une sous-chaîne a et les remplace par une sous-chaîne b. Ce script fonctionne pour toutes les versions de navigateurs au-delà de 3. function Remplace(expr,a,b) { var i=0 while (i!=-1) { i=expr.indexof(a,i); if (i>=0) { expr=expr.substring(0,i)+b+expr.substring(i+a.length); i+=b.length; } } return expr } 18