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
Freigeben: 2024-11-25 12:59:14
Original
812 Leute haben es durchsucht

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])
Nach dem Login kopieren

Beispiel:

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

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;
};
Nach dem Login kopieren

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)
Nach dem Login kopieren

String Object Extension

Hier ist eine Erweiterung des Strings Objekt:

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

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;
    });
};
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage