Maison >interface Web >js tutoriel >Comment JavaScript peut-il remplir des chaînes à une longueur spécifique ?

Comment JavaScript peut-il remplir des chaînes à une longueur spécifique ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-23 14:30:15666parcourir

How Can JavaScript Pad Strings to a Specific Length?

JavaScript peut-il remplir les chaînes à une longueur donnée ?

Le remplissage des chaînes à la longueur souhaitée est un besoin courant en programmation, en particulier lors du formatage des données pour l’affichage ou le stockage. JavaScript propose plusieurs options pour y parvenir avec différents degrés de complexité et de compatibilité sur différentes plates-formes JavaScript.

ES8/ES2017 String.padStart() Method

En 2017 , ECMAScript 2017 (ES8) a introduit les méthodes String.padStart() et String.padEnd() spécifiquement pour le remplissage des chaînes avec des espaces ou d'autres personnages. Ces méthodes sont prises en charge dans les navigateurs modernes et les versions Node.js.

<br>"Jonas".padStart(10); // La chaîne de pad par défaut est un espace<br>"42".padStart(6, "0"); // Complétez avec "0"<br>"<em>".padStart(8, "-/|"); // produit '-/|-/|</em>'<br>

Pour les anciennes versions de JavaScript, String.padStart() peut être implémenté à l'aide d'un polyfill.

Solutions pré-ES8

Avant ES8, plusieurs méthodes alternatives étaient utilisé pour rembourrer les cordes. Une approche courante consistait à concaténer la chaîne avec une chaîne de remplissage et à utiliser slice() pour extraire la partie souhaitée :

<br>var n = 123</p>
<p>String("00000 " n).slice(-5); // renvoie 00123<br>("00000" n).slice(-5); // renvoie 00123<br>(" " n).slice(-5); // renvoie " 123" (avec deux espaces)<br>

Une autre technique consistait à créer une extension de remplissage de chaîne :

<br>String. prototype.paddingLeft = function (paddingValue) {<br> return String(paddingValue this).slice(-paddingValue.length);<br>};<br>

Cette extension peut être utilisée comme suit :

<br>function getFormattedTime(date) {<br> var hours = date.getHours();<br> var minutes = date.getMinutes();</p>
<p>hours = hours.toString().paddingLeft("00");<br> minutes = minutes.toString().paddingLeft("00");</p>
<p>retourner "{0} :{1}".format(heures, minutes);<br>};</p>
<p>String.prototype.format = function () {</p>
<pre class="brush:php;toolbar:false">var args = arguments;
return this.replace(/{(\d+)}/g, function (match, number) {
    return typeof args[number] != 'undefined' ? args[number] : match;
});

};

Ceci démontre le remplissage de chaînes à l'aide d'une méthode de prototype de chaîne modifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn