获取ID的数字部分

时间:2011-05-09 17:05:33

标签: javascript jquery

如果我有以下元素:

<div id="ITEM22"></div>

我可以得到这样的id:

$(this).attr('id');

但是,如果 22 ,我怎么能得到这个数字部分?

编辑: ITEM 始终是前缀。

5 个答案:

答案 0 :(得分:17)

var thenumber22 = $(this).attr('id').match(/(\d+)/)[1]

答案 1 :(得分:6)

如果您始终拥有前缀ITEM,那么您可以

var numeric = this.id.replace('ITEM','');

并且@Felix在评论中提及您可以使用+ unary operator MDC docs代替

将其直接转换为可用的数字(而不仅仅是字符串表示
var numeric = +this.id.replace('ITEM','');

此外,我已将$(this).attr('id')更改为this.id,因为this已引用您想要的对象,您可以使用{{1}直接访问其id属性}

答案 2 :(得分:0)

var whatYouWant = getNo($(this).attr('id'));

function getNo(stringNo)
{
    var parsedNo = "";
    for(var n=0; n<stringNo.length; n++)
    {
        var i = stringNo.substring(n,n+1);
        if(i=="1"||i=="2"||i=="3"||i=="4"||i=="5"||i=="6"||i=="7"||i=="8"||i=="9"||i=="0")
            parsedNo += i;
    }
    return parseInt(parsedNo);
}

答案 3 :(得分:0)

<div id="ITEM22"></div>

var id = $(this).attr('id');  
var numeric_part = id.replace(/[A-Z]+/, '');  //Output : 22

答案 4 :(得分:0)

使用正则表达式

提取字符串的数字部分

var numericPart = id.match(/\d+/);