在JavaScript事件中我只能访问以下格式的字符串...
var innerHTML = '<img src="https://avatars3.githubusercontent.com/u/7988569?v=3&s=40"
class="item-image picker-item-thumb"><i id="2">Item 2</i>';
我需要从此部分<i id="2">
中提取ID值,因此我会在变量中添加2
。
除了<i>
我不确定该怎么做?
答案 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&s=40"
class="item-image picker-item-thumb"><i id="2">Item 2</i>';
var arr = innerHTML.match(/i id="(.+)"/)[1];
alert(arr);
arr
将包含所有匹配项。