如何在JavaScript中将下一个数字添加到字符串中

时间:2017-06-21 06:29:46

标签: jquery

点击按钮,我想获取网址的最后一部分,并将最后一个网段字符串替换为更高的一个数字。例如从img15.jpg到img16.jpg。以下代码保存了网址的最后一部分,但我不确定如何迭代数字。

{{1}}

4 个答案:

答案 0 :(得分:2)

你可以使用子串函数来获得你的例子中的数字" 15"然后使用replace函数将数字替换为数字+ 1。

var str = "img15.jpg";
var res = str.substring(3,str.length-4);
alert('new file is: ' + str.replace(res,parseInt(res)+1));

考虑到在子字符串中你需要知道文件的长度(知道从哪里开始),例如" img"有3个字符,然后你将完成字符串minous 4的长度,因为文件的点和扩展名,例如" .jpg"有4个字符。

这里你有一个jsfiddle的例子:

https://jsfiddle.net/6xdaenom/1/

答案 1 :(得分:0)

结果是String

如果你直接+1这样(如果lastsegment是15)

lastsegment+=1 //return 151

所以使用parseInt将String转换为Int

parseInt(lastsegment)+1

答案 2 :(得分:0)

您可以使用REGEX匹配模式并捕获组中的数字。然后递增数字并将其替换为原始值。

检查以下代码段。



function getUrl() {
  var url = "https://somewebsite.com/images/sunrise1.jpg";
  return url;
}

function getNextUrl(url) {
  var regex = /(\S+)(\d+)(\.\w+)$/g;
  var match = regex.exec(url);
  var number = parseInt(match[2]);  
  number++;
  regex.lastIndex = 0;
  var nextUrl = url.replace(regex, "$1" + number + "$3");
  return nextUrl;
}

var url = getUrl();
var nextUrl = getNextUrl(url)
console.log(nextUrl)




答案 3 :(得分:0)

var lastsegment = 'img_or_whatever15.jpg';
var nextSegment = lastsegment .replace(/(\d+)/,function (g) {
  return parseInt(g)+1;
});