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

时间:2010-02-03 22:38:57

标签: jquery asp.net-mvc regex

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

现在我正在使用:

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

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

有什么建议吗?

由于

1 个答案:

答案 0 :(得分:2)

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

示例:

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