如何在所有这些情况下始终提取数字11。
id="section-11"
id="test-11"
id="something-11"
我做$(this).attr('id');
然后我该怎么做?
答案 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);
以上删除字符串中的所有非数字字符。
答案 3 :(得分:0)
var id = parseInt($(this).attr('id).substring($(this).attr('id').lastIndexOf('-')+1));
上面的.split()
示例也有效,但您需要获取数组中的最高索引,以防您使用多个短划线命名id:sub-section-11
答案 4 :(得分:0)
您可以通过“ - ”将字符串拆分为数组,然后您将从数组的第二位获取id。