2017-06-21 64 views
1

點擊按鈕時,我想取掉網址的最後部分,並用上一個數字替換最後一個字符串。例如從img15.jpg到img16.jpg。以下代碼保存了url的最後部分,但我不確定如何迭代數字。如何在JavaScript中添加下一個數字到字符串

$('.next').on('click',function(){ 
     parts = modalContainer.find('img').attr('src'); 
     array = parts.split('/'); 

     lastsegment = array[array.length-1]; 

}) 

回答

2

你可以使用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一個例子:

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

+0

感謝隊友,這是工作,文件名是靜態的,所以它不會是一個問題。解決了 – Mindfuc

0

結果是字符串

,如果你直接+ 1這樣的(如果lastsegment 15)

lastsegment+=1 //return 151 

因此,使用parseInt函數將字符串轉換爲INT

parseInt(lastsegment)+1 
0

您可以使用正則表達式匹配的模式,並捕獲數字在一組。然後增加數字並將其替換爲原始數值。

檢查下面的代碼片段。

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)

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