点击按钮,我想获取网址的最后一部分,并将最后一个网段字符串替换为更高的一个数字。例如从img15.jpg到img16.jpg。以下代码保存了网址的最后一部分,但我不确定如何迭代数字。
{{1}}
答案 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的例子:
答案 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;
});