是否有JavaScript函数可以填充字符串以获得确定的长度?

是否有JavaScript函数可以填充字符串以获得确定的长度?

我需要一个JavaScript函数,它可以取一个值并将其填充到给定的长度(我需要空格,但任何事情都可以)。我发现了这个:

代码:

String.prototype.pad = function(l, s, t){
    return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
        + 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
        + this + s.substr(0, l - t) : this;};

例子:

<script type="text/javascript">//<![CDATA[var s = "Jonas";document.write(
    '<h2>S = '.bold(), s, "</h2>",
    'S.pad(20, "[]", 0) = '.bold(), s.pad(20, "[]", 0), "<br />",
    'S.pad(20, "[====]", 1) = '.bold(), s.pad(20, "[====]", 1), "<br />",
    'S.pad(20, "~", 2) = '.bold(), s.pad(20, "~", 2));//]]></script>

但我不知道它到底在做什么,它似乎对我没有用。


慕尼黑5688855
浏览 682回答 3
3回答

MM们

我找到了这个解决方案这里这对我来说要简单得多:var&nbsp;n&nbsp;=&nbsp;123String("00000"&nbsp;+&nbsp;n).slice(-5);&nbsp;//&nbsp;returns&nbsp;00123("00000"&nbsp;+&nbsp;n).slice(-5); &nbsp;//&nbsp;returns&nbsp;00123("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;+&nbsp;n).slice(-5);&nbsp;//&nbsp;returns&nbsp;"&nbsp;&nbsp;123"&nbsp;(with&nbsp;two&nbsp;spaces)在这里,我对String对象做了一个扩展:String.prototype.paddingLeft&nbsp;=&nbsp;function&nbsp;(paddingValue)&nbsp;{ &nbsp;&nbsp;&nbsp;return&nbsp;String(paddingValue&nbsp;+&nbsp;this).slice(-paddingValue.length);};一个使用它的例子:function&nbsp;getFormattedTime(date)&nbsp;{ &nbsp;&nbsp;var&nbsp;hours&nbsp;=&nbsp;date.getHours(); &nbsp;&nbsp;var&nbsp;minutes&nbsp;=&nbsp;date.getMinutes(); &nbsp;&nbsp;hours&nbsp;=&nbsp;hours.toString().paddingLeft("00"); &nbsp;&nbsp;minutes&nbsp;=&nbsp;minutes.toString().paddingLeft("00"); &nbsp;&nbsp;return&nbsp;"{0}:{1}".format(hours,&nbsp;minutes);};String.prototype.format&nbsp;=&nbsp;function&nbsp;()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;args&nbsp;=&nbsp;arguments; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;this.replace(/{(\d+)}/g,&nbsp;function&nbsp;(match,&nbsp;number)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;typeof&nbsp;args[number]&nbsp;!=&nbsp;'undefined'&nbsp;?&nbsp;args[number]&nbsp;:&nbsp;match; &nbsp;&nbsp;&nbsp;&nbsp;});};这将返回格式为“15:30”的时间。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript