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!