首页 >web前端 >js教程 >如何在 JavaScript 中将字符串填充到所需的长度?

如何在 JavaScript 中将字符串填充到所需的长度?

Susan Sarandon
Susan Sarandon原创
2024-11-30 08:01:14877浏览

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

在 JavaScript 中填充字符串

简介

JavaScript 提供了各种方法来实现特定的字符串操作任务。其中一项任务是将字符串填充到所需的长度,用字符填充空白空间。本文讨论在 JavaScript 中填充字符串的不同方法。

使用 String.padStart 的解决方案

ECMAScript 2017 (ES8) 为此引入了 String.padStart 方法。它需要两个参数:所需的长度和可选的填充字符串(默认为空格)。

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

Polyfill for String.padStart

如果您的 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn