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

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Support simpleChrome Support complet 57Edge Support complet 15Firefox Support complet 48IE Aucun support NonOpera Support complet 44Safari Support complet 10WebView Android Support complet 57Chrome Android Support complet 57Edge Mobile Support complet OuiFirefox Android Support complet 48Opera Android Support complet 44Safari iOS Support complet 10Samsung Internet Android Support complet 7.0nodejs Support complet 8.0.0
Support complet 8.0.0
Support complet 7.0.0
Désactivée
Désactivée From version 7.0.0: this feature is behind the --harmony runtime flag.

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

Voir aussi

Étiquettes et contributeurs liés au document

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