La méthode padStart() permet de compléter la chaîne courante avec une chaîne de caractères données afin d'obtenir une chaîne de longueur fixée. Pour atteindre cette longueur, la chaîne complémentaire peut être répétée. La chaîne courante est complétée depuis le début.

Syntaxe

str.padStart(longueurCible [, chaîneComplémentaire])

Paramètres

longueurCible
La longueur de la chaîne qu'on souhaite obtenir. Si la longueur indiquée est inférieure à celle de la chaîne courante, cette dernière est renvoyée telle quelle.
chaîneComplémentaire Facultatif
La chaîne de caractères avec laquelle on veut compléter la chaîne courante. Si cette chaîne est trop longue, on prendra uniquement le début (la partie la plus à gauche). La valeur par défaut de ce paramètre est l'espace " " (U+0020). Si cette chaîne est trop courte, elle sera répétée.

Valeur de retour

Une chaîne de caractères (String) dont la longueur est celle indiquée, complétée avec la chaîne fournie au début de la chaîne courante.

Exemples

'abc'.padStart(10);         // "        abc"
'abc'.padStart(10, "toto"); // "totototabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0");     // "00000abc"
'abc'.padStart(1);          // "abc"

Prothèse d'émulation (polyfill)

Cette méthode a été ajoutée à partir d'ECMAScript 2015 et peut ne pas être disponible pour l'ensemble des environnements JavaScript. Il est cependant possible d'ajouter une prothèse pour cette méthode :

// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
if (!String.prototype.padStart) {
    String.prototype.padStart = function padStart(targetLength,padString) {
        targetLength = targetLength>>0; //truncate if number or convert non-number to 0;
        padString = String((typeof padString !== 'undefined' ? padString : ' '));
        if (this.length > targetLength) {
            return String(this);
        }
        else {
            targetLength = targetLength-this.length;
            if (targetLength > padString.length) {
                padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
            }
            return padString.slice(0,targetLength) + String(this);
        }
    };
}

Spécifications

Spécification État Commentaires
ECMAScript Latest Draft (ECMA-262)
La définition de 'String.prototype.padStart' dans cette spécification.
Projet  
ECMAScript 2017 (ECMA-262)
La définition de 'String.prototype.padStart' dans cette spécification.
Standard Définition initiale.

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple571548 Non4410
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple5757 Oui4844107.0

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, Tikoati, demougin2u
Dernière mise à jour par : SphinxKnight,