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

如何在 JavaScript 中将字符串填充到特定长度?

Linda Hamilton
发布: 2024-11-25 12:59:14
原创
816 人浏览过

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 之前,常见的方法涉及前置填充:

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.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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板