Visitez mon nouveau site web » mongo.ca

jeudi 17 décembre 2009

Javascript : Ajouter des fonctions utiles à l'objet String

Heureusement Javascript est un langage assez facile à personnaliser. Je vous propose donc quelques ajouts à l'objet String qui vous permettront d'en faire plus avec moins de code(On aime ça!).

L'objet string représente en fait une chaîne de caractères.


var text = "Bonjour"; //la variable text est un objet string

var chiffre = 0; // la variable chiffre n'est pas un objet String

//Voici comment la convertir en objet string
chiffre = chiffre + ''; //si la variable a été définie plus haut
var chiffre = 0+''; //ou encore lorsqu'on la définie

//Lorsque vous obtenez la valeur d'un élément input, il s'agit d'un objet String
var valeur = document.getElementById("id_du_input").value; //la variable valeur est maintenant un objet String

//Vous pouvez aussi directement créer un objet String
var texte = new String("Bonjour");



L'objet string comporte plusieurs méthodes et propriétés, voici les plus courantes (Pour une liste complète visitez MDC Javascript 1.5 reference ) :



//On définie une variable pour l'exemple
var texte = "Bonjour";

/*********************
Propriétés
**********************/

//// length
// Retourne le nombre de caractères d'une chaîne
var longueur = texte.length; // Dans l'exemple, longueur = 7


/*********************
Méthodes
**********************/

//// toLowerCase()
// Retourne le texte en lettres minuscules
var minuscules = texte.toLowerCase("bonjour"); // minuscules = "bonjour"

//// toUpperCase()
// Retourne le texte en lettres majuscules
var majuscules = texte.toUpperCase("bonjour"); // majuscules = "BONJOUR"

//// substr(debut [,longueur])
//Retourne une partie d'une chaîne
/ *le premier caractère est à la position 0*/
var soustexte = texte.substr(3); // Réduit la chaîne à partir de la positon 3. Dans l'exemple, soustexte = "jour"
var soustexte = texte.substr(1,3); // Réduit la chaîne à 3 caractères à partir de la position 1. soustexte = "onj"

//// indexOf(texte)
//Retourne la position d'un ou plusieurs caractères dans une chaîne
//La fonction retourne la position du premier caractère trouvé
//Retourne -1 si les caractères ne sont pas trouvés
var position = texte.indexOf("o"); // position = 1
var position = texte.indexOf("j"); // position = 3
var position = texte.indexOf("ur"); // position = 5
var position = texte.indexOf("z"); // position = -1

//// lastIndexOf(texte)
//Retourne la position d'un ou plusieurs caractères dans une chaîne
//La fonction retourne la position du premier caractère trouvé
//Retourne -1 si les caractères ne sont pas trouvés
var position = texte.lastIndexOf("o"); // position = 4

//// split(separateur)
//Retourne un tableau contenant la chaîne séparé selon le séparateur
//Si le séparateur n'est pas trouvé on retourne un tableau avec comme seul élément la chaîne.
var phrase = "Je m'en suis rappelé hier comme si ça me serait arrivé demain."; //Jean Perron
var tableau = phrase.split(" "); // Dans l'exemple, tableau = ["Je","m'en","suis","rappelé","hier","comme","si","ça","me","serait","arrivé","demain."];




Bon! maintenant on peut commencer à ajouter des fonctions (méthodes) à l'objet String.




//trim()
//retourne la chaîne sans les espaces au début et à la fin.
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, "");
};


//noaccent()
//retourne la chaîne sans les accents (Vous pouvez en ajouter)
String.prototype.noaccent = function() {
return this.replace(/[àâä]/gi,"a").replace(/[éèêë]/gi,"e").replace(/[îï]/gi,"i").replace(/[ôö]/gi,"o").replace(/[ùûü]/gi,"u");
};


//ucfirst()
//retourne la chaîne avec la première lettre en majuscule
String.prototype.ucfirst = function() {
return (this.length == 1)? this.toUpperCase():(this.substr(0,1).toUpperCase()+this.substr(1));
};


//ucwords()
//retourne la chaîne avec la première lettre de chaque mot en majuscule
String.prototype.ucwords = function() {
var words = this.split(" ");
var uwords = [];
for(var i = 0; i < words.length; i++) {
uwords.push( ((words[i]+"").length == 1) ? (words[i]+"").toUpperCase():((words[i]+"").substr(0,1).toUpperCase()+(words[i]+"").substr(1)) );
}
return uwords.join(" "); //transforme un tableau en une chaîne
};




Plus à venir...

Aucun commentaire:

Visitez mon nouveau site web » mongo.ca