如何从字符串变量的末尾加上或减去一个

时间:2015-07-09 19:41:43

标签: javascript string

我要做的是接受一个字符串后跟一个数字的变量,并将其转换为一个新的变量,该变量是相同的字符串,但数字不同。

我目前有

var image = 'image1';

当用户点击下一步时,我需要创建一个采用图像var的变量,然后返回'image2'

function nextImage() {
    nextimage = image + 1;
}

4 个答案:

答案 0 :(得分:2)

您可以使用String.replace方法接受正则表达式和替换回调函数:

var image = 'image1';
var nextimage = image.replace(/\d+$/, function(match) {
    return +match + 1;
});
nextimage; // "image2"

specifying a function as a parameter”部分详细解释了回调函数的工作原理。

答案 1 :(得分:1)

这应该适合你。

var image = "image1";

function nextImage(){    
    var index = image.slice(-1);

    index++;

    return nextimage = 'image' + index;
}

答案 2 :(得分:0)

这个没有使用正则表达式。您可以从变量本身中提取图像名称和图像编号,并在每次单击时添加1。

function nextImage() {
   image=image.slice(0, "image".length) + (Number(image.slice("image".length, image.length)) + 1);
   return image;
}

答案 3 :(得分:0)

这是增加图像数量的javascript方法

// initially number of images = 1 , you can change it
var image = "image1";
function nextImage(e)
{
    var curr = image.substr(5);
    curr = parseInt(curr) + 1;
    image = "image" + curr;
    alert(image);
    e.preventDefault();
}

window.onload = function(){
    // this is the button that will increment images number by clicking on it
    var btn = document.getElementById("btn");
    btn.addEventListener("click",nextImage);
};

但是你的HTML代码

<button id="btn">click</button>