在JavaScript中对值进行zerofill的推荐方法是什么?我想我可以构建一个自定义函数来将零填充到一个类型化的值,但我想知道是否有更直接的方法来做到这一点?
注意: "zerofilled"是指数据库中的单词意义(数字5的6位零填充表示为"000005").
这个 Perl 脚本是我想在 JavaScript 中实现的(源代码):
s/([0-9]+)/sprintf('%04d',$1)/ge;
Run Code Online (Sandbox Code Playgroud)
显然sprintf在 JavaScript 中不可用,但我知道您可以构建一个直接处理关注数量的函数,但是在我的情况下,我有一个长字符串,其中可能包含多个数字,可以将这样的字符串转换为abc8 23 123
:(abc000008 000023 000123
使用以 6 位为例)。
所以它要么是我没有得到的一些聪明的正则表达式,要么以某种方式找到某种方法将长字符串分成不同的字符串和数字的数组,并且只对数字一个一个地进行操作。
我真的想避免后一种方法,因为 1) 在这种情况下速度是一个问题,并且 2) 在正确的位置拆分字符串所涉及的正则表达式似乎比在这一点上添加前导零更难。
最后,还有其他方法可以使用 JavaScript 的正则表达式吗?
var a = 1;
var b = 05;
var c = 10;
var d = 14;
var e = 7;
Run Code Online (Sandbox Code Playgroud)
如果它是一个数字,我需要为每个变量添加零.
就像是:
for each([a, b, c, d, e] as el){
if el.length == 1){el = '0' + el;}
}
Run Code Online (Sandbox Code Playgroud)
结果应该是 01
05
10
14
07
有帮助吗?