Heim >Web-Frontend >js-Tutorial >Wie kann ich einen String in JavaScript auf eine bestimmte Länge auffüllen?

Wie kann ich einen String in JavaScript auf eine bestimmte Länge auffüllen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-25 12:59:14842Durchsuche

How Can I Pad a String to a Specific Length in JavaScript?

Auffüllen einer Zeichenfolge auf die gewünschte Länge in JavaScript

Einführung

Das Hinzufügen von Auffüllungen zu einer Zeichenfolge kann eine notwendige Aufgabe sein aus verschiedenen Gründen, wie z. B. Ausrichtung oder Formatierung. In diesem Artikel wird erläutert, wie Sie eine Zeichenfolge in JavaScript auf eine bestimmte Länge auffüllen.

ES8-Lösung

ECMAScript 2017 (ES8) führte String.padStart ein, wodurch das Auffüllen von Zeichenfolgen mühelos erfolgt. Seine Syntax lautet:

string.padStart(targetLength, [padString])

Beispiel:

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

Polyfill für Pre-ES8-Browser

Für Browser die ES8 nicht unterstützen, kann ein Polyfill sein verwendet:

String.prototype.padStart = function (targetLength, padString) {
  if (this.length >= targetLength) { return this; }
  padString = padString !== undefined ? padString : ' ';
  return padString.repeat((targetLength - this.length) / padString.length) + this;
};

Klassische Lösung

Vor ES8 bestand ein gängiger Ansatz darin, das Auffüllen voranzustellen:

var n = 123

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

String Object Extension

Hier ist eine Erweiterung des Strings Objekt:

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

Verwendungsbeispiel:

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;
    });
};

Dies gibt eine Zeit im Format „15:30“ zurück.

Das obige ist der detaillierte Inhalt vonWie kann ich einen String in JavaScript auf eine bestimmte Länge auffüllen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn