JavaScript 提供了各种方法来实现特定的字符串操作任务。其中一项任务是将字符串填充到所需的长度,用字符填充空白空间。本文讨论在 JavaScript 中填充字符串的不同方法。
ECMAScript 2017 (ES8) 为此引入了 String.padStart 方法。它需要两个参数:所需的长度和可选的填充字符串(默认为空格)。
"Jonas".padStart(10); // Default pad string is a space "42".padStart(6, "0"); // Pad with "0" "*".padStart(8, "-/|\"); // produces '-/|\-/|*'
如果您的 String.padStart 不受支持JavaScript 环境,您可以将其添加为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; }; }
填充字符串的一个简单方法是将其与所需的填充字符连接起来。
var n = 123 String("00000" + n).slice(-5); // returns 00123 ("00000" + n).slice(-5); // returns 00123 (" " + n).slice(-5); // returns " 123" (with two spaces)
您还可以扩展字符串对象为了方便起见,添加 paddingLeft 方法。
String.prototype.paddingLeft = function (paddingValue) { return String(paddingValue + this).slice(-paddingValue.length); };
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; }); };
此代码将返回格式为“15:30”的时间。
以上是如何在 JavaScript 中将字符串填充到所需的长度?的详细内容。更多信息请关注PHP中文网其他相关文章!