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

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

Linda Hamilton
發布: 2024-11-25 12:59:14
原創
812 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板