在javascript中解析字符串中的Int

在javascript中,从以字母开头的字符串(例如“test [123]”)解析INT的最佳方法是什么? 我需要一些适合下面例子的东西。

我的JS:

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

我生成的HTML:

       

谢谢!

您可以使用正则表达式来匹配数字:

 $(this).attr("id").match(/\d+/) 
 parseInt(input.replace(/[^0-9-]/,""),10) 

可能只是用.replace()过滤掉字符串。 如果有另一种方式,那么我不知道它:

 parseInt("attribute[123]".replace("attribute[", "").replace("]", ""))); 

你可以使用一些正则表达式只将它放在一个.replace()中,但我对Regex并不好,所以我只做了两次。

在浏览器中测试一下

 javascript:alert(parseInt("attribute[123]".replace("attribute[", "").replace("]", ""))); 

应警惕123。