示例字符串如下:<img border="0" src='id=xxxxx'>
<img src='id=xxxxx' border="0">
<img src="id=xxxxx">
<img src=id=xxxxx>
希望用正则提取<img>标签中src的值,有一点要求:src的值中必须包含“id=”这个特征
<img src='id=xxxxx' border="0">
<img src="id=xxxxx">
<img src=id=xxxxx>
希望用正则提取<img>标签中src的值,有一点要求:src的值中必须包含“id=”这个特征
<img src='s.php?id=xxxxx' border="0">
<img src="s.php?id=xxxxx">
<img src=s.php?id=xxxxx>希望用正则提取<img>标签中src的值,有一点要求:src的值中必须包含“s.php”这个特征
var arrImg=document.getElementsByTagName("img"),arrResult=[];
for(var i=0;i<arrImg.length;i++){
if(arrImg[i].src.indexOf("s.php")>-1){
arrResult.push(arrImg[i].src);
}
}
+"<img src='s.php?id=xxxxx' border=\"0\">"//y
+"<img src=\"s.php?id=xxxxx\">"//y
+"<img src=s.php?id=xxxxx>"//y
+"<img src=wwwx.php?id=www a=2>"//no
+"<img src=wwws.php?id=www a=2>";//y
var p = /<img[^>]*src\s*=\s*(["'])?[^>]*(?=s\.php)[^>]*>/ig
alert(html.match(p))
var html = "<img border=\"0\" src='s.php?id=xxxxx'>"//y
+"<img src='s.php?id=xxxxx' border=\"0\">"//y
+"<img src=\"s.php?id=xxxxx\">"//y
+"<img src=s.php?id=xxxxx>"//y
+"<img src=wwwx.php?id=www a=2>"//no
+"<img src=wwws.php?id=www a=2>";//no
var p = /<img[^>]*src\s*=\s*(["'])?(?=s\.php)[^>]*>/ig
alert(html.match(p))
能正确匹配,但感觉不是很完善
var val2 = '<img src=s.php?id=xxxxx>';
var val3 = '<img src="s.php?id=xxxxx">';
var val4 = '<img src=\'s.php?id=xxxxx\' border="0">';
var pattern = /^<img.*src=([\'|\"]?)([\w\.]*\?)?id=\w+\1.*>$/i;
alert(val1.match(pattern));