简单的正则表达式在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 */ }