在 JavaScript 中将“1”转换为“0001”[重复]

 

问题描述:

这个问题在这里已经有了答案

11年前关闭。

可能重复:
是否有 JavaScript
函数可以填充字符串以达到确定的长度?

如何在不使用任何 3rd 方库的情况下将 JavaScript 中的“1”转换为“0001”。我已经使用 spritf 在 php
中完成了此操作:$time = sprintf('%04.0f',$time_arr[$i]);


 

第 1 个答案:

这是一个聪明的小技巧(我想我以前在 SO 上见过):

var str = "" + 1
var pad = "0000"
var ans = pad.substring(0, pad.length - str.length) + str

如果 substring 的第二个参数是负数,JavaScript 比某些语言更宽容,所以它会“正确溢出”(或不正确,取决于它的查看方式):

也就是说,有了上面的:

  • 1->“0001”
  • 12345 -> “12345”

支持负数作为练习;-)


这是一个例子。假设我想要像很多网站一样叠加图像。因此,当您单击缩略图时,整个窗口上会出现一个黑色叠加层,并且较大版本的图像会在其中居中。单击黑色叠加层将其关闭;单击图像将调用 ...