将字符串填充到所需长度是编程中的常见需求,尤其是当格式化数据以供显示或存储时。 JavaScript 提供了多种选项来实现此目的,但在不同的 JavaScript 平台上具有不同程度的复杂性和兼容性。
2017 年,ECMAScript 2017 (ES8) 引入了 String.padStart() 和 String.padEnd() 方法,专门用于用空格或空格填充字符串其他角色。现代浏览器和 Node.js 版本支持这些方法。
<br>"Jonas".padStart(10); // 默认填充字符串是空格<br>"42".padStart(6, "0"); // 填充 "0"<br>"<em>".padStart(8, "-/|"); // 生成 '-/|-/|</em>'<br>
对于较旧的 JavaScript 版本,可以使用 polyfill 实现 String.padStart()。
在 ES8 之前,有几种替代方法用于填充琴弦。一种常见的方法是将字符串与填充字符串连接起来,并使用 slice() 提取所需的部分:
<br>var n = 123<p>String("00000 " n).slice(-5); // 返回 00123<br>("00000" n).slice(-5); // 返回 00123<br>(" " n).slice(-5); // 返回“ 123”(有两个空格)<br></p>
另一种技术是创建字符串填充扩展:
<br>String. prototype.paddingLeft = function (paddingValue) {<br> return String(paddingValue this).slice(-paddingValue.length);<br>};<br>
此扩展可以按如下方式使用:
<br>function getFormattedTime(date) {<br> var hours = date.getHours();<br> var分钟 = date.getMinutes();<p>小时 = hours.toString().paddingLeft("00");<br> 分钟 = 分钟.toString().paddingLeft("00");</p> <p>return "{0}:{1}".format(小时,分钟);<br>};</p><p>String.prototype.format = function () {</p><pre class="brush:php;toolbar:false">var args = arguments; return this.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; });
};
这个演示使用修改后的字符串原型方法进行字符串填充。
以上是JavaScript 如何将字符串填充到特定长度?的详细内容。更多信息请关注PHP中文网其他相关文章!