javascript - 如何在 Javascript 中添加前面带 0 的数字?

标签 javascript

(这不是重复的。我在提供的链接中找不到解决方案)。

假设我有一个用户输入的 html 表单,意在作为序列号或类似的东西。这个数字可以从 0 开始。例如,0001。

在 Javascript 中,如果该数字 (0001) 递增,它将变为 2。

我想保留前导 0 以获得 0002。

我如何在 Javasript 中做到这一点?

感谢期待。

最佳答案

使用padStart填充数字的开头。但是数字不以零开头,因此数字必须显示为字符串。

要找到零的数量,您可以这样做:

('001'.match(/^0+/) || [''])[0].length
  • '001'.match(/^0+/) – 从字符串开头匹配尽可能多的零
  • || [''] – 如果匹配返回 undefined,则使用带有空字符串的数组(也称为回退值)
  • [0] – 获取返回数组中的第一个值(匹配或回退)
  • .length – 获取字符串的长度

let nums = [
  '1',
  '01',
  '001',
  '0001'
]

let str = ''

for (let i of nums) {
  let numZeros = (i.match(/^0+/) || [''])[0].length
  let num = Number(i)
  while (num < 20) {
    str += `<p>${String(num++).padStart(numZeros + 1, '0')}</p>`
  }
}

document.body.innerHTML = str

关于javascript - 如何在 Javascript 中添加前面带 0 的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55362485/

相关文章:

javascript - 使用hammer.js使克隆交换到html元素

javascript - 时间在 Heroku 上显示错误,但使用 moment 在 localhost 上显示正确

javascript - 如何为不同高度的元素制作网格?

javascript - 如何在 p5.js 中实现用户交互?我知道 p5 本身不支持交互,但有没有办法让我自己编写?

javascript - 滚动条上不止一项功能?

javascript - 在 iFrame 上调用 JavaScript 并触发弹出窗口 - 第 22 条军规?

javascript - 无法使用 Microsoft Graph API 和 Angular 4 更新个人资料图片

javascript - 使用 jQuery 生成 JSON

javascript - VueJS 输入与嵌套数据的绑定(bind)

javascript - 使用 openlayer3 初始化 map 后如何在 View 中设置范围属性?