我喜欢在数字中加上(+1)。但问题是我的号码有时可能在0之前。像01,02,03,04。所以我喜欢的结果是:Javascript:将+1加1以0开头的数字(如01,02,03)并保留为零
mockup01 + 1 = mockup02
mockup11 + 1 = mockup12
这怎么能实现?我将如何使用它的例子是,如果我的文件名命名mockup_01.htm并将其更改为mockup_02.htm
谢谢!
我喜欢在数字中加上(+1)。但问题是我的号码有时可能在0之前。像01,02,03,04。所以我喜欢的结果是:Javascript:将+1加1以0开头的数字(如01,02,03)并保留为零
mockup01 + 1 = mockup02
mockup11 + 1 = mockup12
这怎么能实现?我将如何使用它的例子是,如果我的文件名命名mockup_01.htm并将其更改为mockup_02.htm
谢谢!
也许这
next = (parseInt(number, 10) + 101).toString().substr(1)
做出mockup_02.htm出mockup_01试试这个
newName = fileName.replace(/\d+(?=\.)/, function(n) {
return (parseInt(n, 10) + Math.pow(10, n.length) + 1).toString().substr(1)
});
这适用于任何长度,例如数mockup_0001,mockup_000001等
我不是一个JavaScript程序员,但它似乎像混合了演示文稿和内部表示法。如果“01”是一个带有相应整数变量的字符串,则可以从字符串转换为整数,然后添加1,然后创建一个具有所需格式的新字符串。这有时被称为模型 - 视图 - 控制器模式。模型是整数变量 - 它模拟数字的内部行为。视图是字符串 - 它以可读的方式呈现数字。控制器处理数字操作。
function next_id(input) {
var output = parseInt(input, 10)+1; // parse and increment
output += ""; // convert to string
while (output.length<2) output = "0"+output; // prepend leading zeros
return output;
}
var id = "00";
for (var i=0; i<20; i++) {
console.log(id);
id = next_id(id);
}
+1 - 通过获得'var desiredLength =(''+ input).length'然后执行'while(output.length
+1记住,否则,它将解析以0开头的八进制数(“031”将变为25)。 – 2010-03-22 21:33:29
辉煌!谢谢! – 2010-03-22 21:36:01
想知道如果你知道它如何工作,如果我想包括整个字符串...就像 mockup_01.htm到mockup02.htm – 2010-03-22 21:38:12