在所有这些情况下提取id

时间:2011-05-23 20:41:51

标签: javascript jquery

如何在所有这些情况下始终提取数字11。

id="section-11" 
id="test-11"
id="something-11"

我做$(this).attr('id');然后我该怎么做?

5 个答案:

答案 0 :(得分:6)

实现这一目标的方法很多,一种方法是使用.split(),如:

var id = "section-11";

var number = id.split(/-/)[ 1 ];

alert( number );  // 11

答案 1 :(得分:2)

$(this).attr('id').match(/\d+/)[0]

这将拉出第一个数字匹配。

答案 2 :(得分:2)

假设最后两位数字将成为id中唯一的数字,这里有一个正则表达式代替它:

var id = 'something-11';
var num = id.replace(/\D/g,'');

alert(num);

以上删除字符串中的所有非数字字符。

jsfiddle example

答案 3 :(得分:0)

var id = parseInt($(this).attr('id).substring($(this).attr('id').lastIndexOf('-')+1));

上面的.split()示例也有效,但您需要获取数组中的最高索引,以防您使用多个短划线命名id:sub-section-11

答案 4 :(得分:0)

您可以通过“ - ”将字符串拆分为数组,然后您将从数组的第二位获取id。