早上好
是否有一种聪明的方法可以使用 javascript 正则表达式来清理此字符串:
var spans = "<SPAN><A href="javascript:sel.RemoveProductFromSelection('12372');"><IMG src="remove.gif" width=18> </A>Mirage - JOY</SPAN>
<SPAN><A href="javascript:sel.RemoveProductFromSelection('12427');"><IMG src="remove.gif" width=18> </A>Nikon - D40 </SPAN>
<SPAN><A href="javascript:sel.RemoveProductFromSelection('12438');"><IMG src="remove.gif" width=18> </A>Mitsuca - DS 6083 </SPAN>"
并生成如下结果数组:
var filtered = ["12372","12427","12438"];
spans
变量中的源html字符串可以缩进或不缩进。
提前致谢
答案 0 :(得分:1)
我建议只匹配脚本部分。像这样:
regex = /RemoveProductFromSelection\('(\d+)'\)/g;
while (match = regex.exec(spans)) {
console.dir(match);
}
注意:我在这里使用console.dir()
以易于阅读的格式输出结果。 console.dir()
是Firebug中的调试功能;如果你没有使用Firebug,你需要使用不同的方法来查看结果。
答案 1 :(得分:0)
var filtered= spans.match(/\('(\d+)'\)/g);
for (var k=0;k<filtered.length;k++){
filtered[k] = filtered[k].match(/\d+/g);
alert(filtered[k]);
}