简单的正则表达式在jQuery中提取方括号之间的内容

我有一堆名称类似于“comp [1] .Field”或“comp [3] .AnotherField”的元素,其中索引(1或3)发生了变化。 我正在尝试从名称中提取索引。

现在我正在使用:

var index = $(":input:last").attr("name").match(/\[(\d+)\]/)[1]; 

但我觉得这不是最好的方法。

有什么建议?

谢谢

你拥有的实际上是一个非常好的方法,但你应该添加一些检查,确保match()实际上返回一个数组(意味着找到了字符串)而不是null,否则你将得到一个类型错误。

例:

 var index = $(":input:last").attr("name").match(/\[(\d+)\]/); if (match) { index = match[1]; } else { /* no match */ }