使用JavaScript从字符串中提取ID值

时间:2015-10-29 00:13:22

标签: javascript

在JavaScript事件中我只能访问以下格式的字符串...

var innerHTML = '<img src="https://avatars3.githubusercontent.com/u/7988569?v=3&amp;s=40"
class="item-image picker-item-thumb"><i id="2">Item 2</i>';

我需要从此部分<i id="2">中提取ID值,因此我会在变量中添加2

除了<i>

之外,其他任何HTML标记都不会有ID

我不确定该怎么做?

2 个答案:

答案 0 :(得分:2)

使用正则表达式捕获组。

如果id始终为数字,请使用:

/<i id="(\d+)"/.exec(innerHTML)[1]

否则,您可以使用

/<i id="([^"]+)"/.exec(innerHTML)[1]

建议查看评论以获取更多信息!

答案 1 :(得分:0)

您可以使用正则表达式执行此操作:

(?<=i id=").+(?=")

正如felix king指出的那样,你可以试试以下内容,因为javascript不支持lookbehinds:

/i id="(.+)"/

var innerHTML = '<img src="https://avatars3.githubusercontent.com/u/7988569?v=3&amp;s=40"
class="item-image picker-item-thumb"><i id="2">Item 2</i>';
var arr = innerHTML.match(/i id="(.+)"/)[1];
alert(arr);

arr将包含所有匹配项。