Maison >interface Web >js tutoriel >Comment puis-je remplir des chaînes à la longueur souhaitée en JavaScript ?

Comment puis-je remplir des chaînes à la longueur souhaitée en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-30 08:01:14932parcourir

How Can I Pad Strings to a Desired Length in JavaScript?

Remplissage d'une chaîne en JavaScript

Introduction

JavaScript fournit diverses méthodes pour réaliser des tâches spécifiques de manipulation de chaînes. L'une de ces tâches consiste à remplir une chaîne à la longueur souhaitée, en remplissant les espaces vides avec des caractères. Cet article traite des différentes manières de remplir une chaîne en JavaScript.

Solution utilisant String.padStart

ECMAScript 2017 (ES8) a introduit la méthode String.padStart à cet effet. Il prend deux paramètres : la longueur souhaitée et une chaîne de remplissage facultative (qui est par défaut un espace).

"Jonas".padStart(10); // Default pad string is a space
"42".padStart(6, "0"); // Pad with "0"
"*".padStart(8, "-/|\"); // produces '-/|\-/|*'

Polyfill pour String.padStart

Si String.padStart n'est pas pris en charge dans votre Environnement JavaScript, vous pouvez l'ajouter en tant que polyfill :

if (!String.prototype.padStart) {
  String.prototype.padStart = function(length, padString) {
    padString = padString || " ";
    if (this.length >= length) return this;
    else return padString.repeat(length - this.length) + this;
  };
}

Utilisation de la concaténation de chaînes

Un simple La façon de remplir une chaîne est de la concaténer avec les caractères de remplissage souhaités.

var n = 123

String("00000" + n).slice(-5); // returns 00123
("00000" + n).slice(-5); // returns 00123
("     " + n).slice(-5); // returns "  123" (with two spaces)

Extension de l'objet String

Vous pouvez également étendre l'objet String pour inclure une méthode paddingLeft pour votre commodité.

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

Exemple d'utilisation

function getFormattedTime(date) {
  var hours = date.getHours();
  var minutes = date.getMinutes();

  hours = hours.toString().paddingLeft("00");
  minutes = minutes.toString().paddingLeft("00");

  return "{0}:{1}".format(hours, minutes);
};

String.prototype.format = function () {
    var args = arguments;
    return this.replace(/{(\d+)}/g, function (match, number) {
        return typeof args[number] != 'undefined' ? args[number] : match;
    });
};

Ce code renverra une heure au format "15h30".

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