Javascript – Parsing an Int from a string in javascript

javascriptjquery

In javascript, what is the best way to parse an INT from a string which starts with a letter (such as "test[123]")? I need something that will work for the example below.

My JS:

$(document).ready(function() {

    $(':input').change( function() {
        id = parseInt($(this).attr("id"));  //fails for the data below
        alert(id);
    });
}

My generated HTML:

<select id="attribute[123]">
<!-- various options -->
</select>
<select id="attribute[456]">
<!-- various options -->
</select>

Thank you!

Best Solution

You could use a regular expression to match the number:

$(this).attr("id").match(/\d+/)