jQuery /从字符串中获取数字

时间:2012-02-14 19:24:54

标签: jquery

我的页面上有一个按钮,其中包含comment_like类和ID comment_like_123456,但最后的数字是可变的;可能是1到1000000。

单击此按钮时,我需要获取结束编号,以便我可以在具有相同后缀的其他元素上运行任务。

有没有一种简单的方法可以在jQuery中获取这个数字?

$('.comment_like').click(function() {
    var element_id = $(this).attr('id');

    // grab number from element ID

    // do stuff with that number

});

8 个答案:

答案 0 :(得分:91)

你可以这样:

var suffix = 'comment_like_123456'.match(/\d+/); // 123456

关于按钮:

$('.comment_like').click(function(){
  var suffix = this.id.match(/\d+/); // 123456
});

答案 1 :(得分:12)

在您的点击处理程序中:

var number = $(this).attr('id').split('_').pop();

答案 2 :(得分:4)

http://jsfiddle.net/hj2nJ/

var x = 'comment_like_6846511';
var y = '';

for (i = 0; i < x.length; i++)
{
    if ("" + parseInt(x[i]) != "NaN") //if the character is a number
        y = y + x[i];
}

document.write(y);

答案 3 :(得分:3)

这是一个普通的正则表达式的任务,它与jQuery无关:

"comment_like_123456".match(/\d+/)

=> ["123456"]

答案 4 :(得分:2)

jQuery不是一个神奇的子弹。使用Javascript!

var temp = "comment_like_123456".split("_")
alert(temp[2])

答案 5 :(得分:1)

只需获取ID并通过正则表达式运行。

$(mybutton).click(function() {
    var num = parseInt(/^.*\_(\d+)$/.exec(this.id)[1])
});

答案 6 :(得分:1)

你可以试试这个。它将从任何类型的字符串中提取所有数字。

var suffix = 'comment_like_6846511';
alert(suffix.replace(/[^0-9]/g,''));

<强> {{3}}

答案 7 :(得分:0)

这是使用jquery从字符串中获取数字的最简单方法。

$(function(){
	 $('.comment_like').click(function() {
    var element_id = $(this).attr('id');
    var number = element_id.match(/\d+/);
    
    alert(number);

  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class='comment_like' id='comment_like_123456'>Click Me To Get a number from string</button>