(这不是重复的。我在提供的链接中找不到解决方案)。
假设我有一个用户输入的 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/