使用jQuery从字符串中提取数字

时间:2010-09-06 16:05:40

标签: jquery

我有一系列记录,并为其分配了ID。即

  

record1,record2,record3等

我正在尝试使用以下命令获取链接的ID: -

$("a.removeTier").live('click', function() {
    var tier = $(this).attr('id').match('/\d+$/');
    alert(tier);
});

变量层应该只包含字符串中的数值。目前,我正在变空。

有什么想法吗?

3 个答案:

答案 0 :(得分:7)

为什么不使用slice()substring()

 var tier = this.id.slice(6);
 // -> 1, 2, 3... 11... 123, etc

示例 - http://jsfiddle.net/TmBQ8/

PS,你现在得到的是因为你传递了一个字符串参数来匹配,而不是正则表达式。删除引号,例如match(/\d+$/)。另请注意,在我的示例中,我跳过了使用jQuery包装器和 attr(),因为它是漫长的过程,并不像直接属性访问那样高效。

答案 1 :(得分:1)

使用钝器对象:

$(this).attr('id').substring("6","7")

如评论中所述,这仅适用于一位数字。所以这样做:

$(this).attr('id').replace("record", "") 

答案 2 :(得分:0)

如果你的id总是在它前面有“记录”那么......

$("a.removeTier").live('click', function() {
    var tier = $(this).attr('id').subString("6");
    alert(tier);
});

如果您将“记录”更改为其他内容,只需将第6个字符的位置更改为6。