jQuery / Get numbers from a string

Jquery

Jquery Problem Overview


I have a button on my page with a class of comment_like and an ID like comment_like_123456 but the numbers at the end are variable; could be 1 to 1000000.

When this button is clicked, I need to grab the end number so I can run tasks on other elements with the same suffix.

Is there an easy way of grabbing this number in jQuery?

$('.comment_like').click(function() {
    var element_id = $(this).attr('id');
    
    // grab number from element ID

    // do stuff with that number

});

Jquery Solutions


Solution 1 - Jquery

You can get it like this:

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

With respect to button:

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

Solution 2 - Jquery

In your click handler:

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

Solution 3 - Jquery

You can try this. it will extract all number from any type of string.

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

DEMO

Solution 4 - Jquery

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);

Solution 5 - Jquery

This is a task for plain-old regular expressions, it has nothing to do with jQuery:

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

=> ["123456"]

Solution 6 - Jquery

jQuery is not a magic bullet. Use Javascript!

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

Solution 7 - Jquery

Just get the id and run it through a regex.

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

Solution 8 - Jquery

This would be the easiest way to grab number from a string using 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>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTheCarverView Question on Stackoverflow
Solution 1 - JquerySarfrazView Answer on Stackoverflow
Solution 2 - JquerycalebdsView Answer on Stackoverflow
Solution 3 - JqueryANJYRView Answer on Stackoverflow
Solution 4 - JqueryCory DanielsonView Answer on Stackoverflow
Solution 5 - Jqueryuser229044View Answer on Stackoverflow
Solution 6 - JqueryDiodeus - James MacFarlaneView Answer on Stackoverflow
Solution 7 - JquerymgibsonbrView Answer on Stackoverflow
Solution 8 - JqueryKarue Benson KarueView Answer on Stackoverflow