如何在JavaScript中添加下一个数字到字符串
问题描述:
点击按钮时,我想取掉网址的最后部分,并用上一个数字替换最后一个字符串。例如从img15.jpg到img16.jpg。以下代码保存了url的最后部分,但我不确定如何迭代数字。如何在JavaScript中添加下一个数字到字符串
$('.next').on('click',function(){
parts = modalContainer.find('img').attr('src');
array = parts.split('/');
lastsegment = array[array.length-1];
})
答
你可以使用Substring函数来获取你的例子中的数字将是“15”,然后使用替换函数重新将该号码与号码+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这样的(如果lastsegment 15)
lastsegment+=1 //return 151
因此,使用parseInt函数将字符串转换为INT
parseInt(lastsegment)+1
答
您可以使用正则表达式匹配的模式,并捕获数字在一组。然后增加数字并将其替换为原始数值。
检查下面的代码片段。
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)
答
var lastsegment = 'img_or_whatever15.jpg';
var nextSegment = lastsegment .replace(/(\d+)/,function (g) {
return parseInt(g)+1;
});
感谢队友,这是工作,文件名是静态的,所以它不会是一个问题。解决了 – Mindfuc