2

我喜欢在数字上加 (+1)。但问题是我的号码有时前面可能有 0。喜欢 01、02、03、04。所以我喜欢结果是:

mockup01 + 1 = mockup02
mockup11 + 1 = mockup12

怎样才能做到这一点?如果我有名为mockup_01.htm的文件名并将其更改为mockup_02.htm ,我将如何使用它的示例

谢谢!

4

3 回答 3

14

也许这

 next = (parseInt(number, 10) + 101).toString().substr(1)

用 mockup_01 制作 mockup_02.htm 试试这个

newName = fileName.replace(/\d+(?=\.)/, function(n) {
    return (parseInt(n, 10) + Math.pow(10, n.length) + 1).toString().substr(1)
});

这适用于任何长度的数字,例如 mockup_0001、mockup_000001 等

于 2010-03-22T21:31:07.793 回答
2

我不是 javascript 程序员,但您似乎在混淆表示和内部表示。如果“01”是一个字符串,有一个对应的整数变量,你可以将字符串转换为整数,加1,然后用所需的格式创建一个新的字符串。这有时被称为模型-视图-控制器模式。模型是整数变量——它模拟数字的内部行为。视图是字符串——它以人类可读的方式呈现数字。控制器处理数值运算。

于 2010-03-22T21:25:21.393 回答
2
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);
}
于 2010-03-22T21:32:17.053 回答