3

我需要一些帮助来编写一个 JavaScript 函数来检测字符串末尾的连字符和数字:

IE。

var x = "filenumber-2"

如果字符串末尾有连字符,则取连字符后面的数字并将其加 1。

IE。

var x = "filenumber-3"
4

3 回答 3

2

你可以做

x = x.replace(/-\d+$/, function(n){ return '-'+(1-n) });

只有在连字符之后和字符串末尾时,才会增加数字。

于 2013-10-31T14:26:44.270 回答
0

尝试这个

var reg = /-\d+$/
if(reg.test(x)){
    x = x.replace(/(\d+)$/,function(a){return +a+1})
}
于 2013-10-31T14:54:13.943 回答
0

你可以沿着这些路线走:

increaseNumberAtEndOfString = function (input) {
    try {
        var ar = input.split("-");
        if (ar.length > 1) {
            var myNumber = Number(ar[ar.length - 1]);
            myNumber++;
            ar[ar.length - 1] = myNumber;
        }
        return ar.join("-");
    } catch (e) {
        throw new Error("Invalid string!");
    }
}
于 2013-10-31T14:30:23.790 回答