首頁  >  文章  >  web前端  >  如何在 JavaScript 中將字串填入特定長度?

如何在 JavaScript 中將字串填入特定長度?

Linda Hamilton
Linda Hamilton原創
2024-11-25 12:59:14747瀏覽

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

在JavaScript 中將字串填入所需的長度

簡介

向字串添加填充可能是一項必要的任務由於各種原因,例如對齊或格式設定。本文探討如何在 JavaScript 中將字串填入指定長度。

ES8 解決方案

ECMAScript 2017 (ES8) 引入了 String.padStart,讓字串填充變得毫不費力。其語法為:

string.padStart(targetLength, [padString])

範例:

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

用於ES8 之前的瀏覽器的Polyfill

用於ES8 之前的瀏覽器的Polyfill

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

對於瀏覽器不支援ES8,可以使用polyfill使用:

經典解

var n = 123

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

在 ES8之前,常見的方法涉及前置填充:

字串物件擴充

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