一个正则匹配的问题

skyover 2004-10-23 12:24:55
string html = '<EMBED src='http://adimg.163.com/homepage/zhengda/zhengda041020_21050.swf' quality=high width="480" height="360"
TYPE='application/x-shockwave-flash'
PLUGINSPAGE='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'></EMBED>'

指定一个属性
如 : Width
如何获取 480?
...全文
76 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
skyover 2004-10-23
  • 打赏
  • 举报
回复
thx.
ice_berg16 2004-10-23
  • 打赏
  • 举报
回复
res = html.match(/width=([\"']?)(\d+)\1/i);
alert(res[2]);
cuixiping 2004-10-23
  • 打赏
  • 举报
回复

<textarea id="Textarea1" rows="6" cols="100">
<EMBED src='http://adimg.163.com/homepage/zhengda/zhengda041020_21050.swf' quality=high width="480" height="360"
TYPE='application/x-shockwave-flash'
PLUGINSPAGE='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'></EMBED>
</textarea>
<br>你可以修改上面的部分代码再点下面的按钮
<br>
name:<input type="text" id="Text1" value="width" size="10" maxlength="50">
<input type="button" value=" get() " onclick="alert(getAttr2())">
<br>
<input type="button" value=" src " onclick="alert(getAttr('src'))">
<input type="button" value="width" onclick="alert(getAttr('width'))">
<input type="button" value="height" onclick="alert(getAttr('height'))">
<input type="button" value="TYPE" onclick="alert(getAttr('TYPE'))">
<script language="JavaScript">
<!--
//html = '<EMBED src=\'http:\/\/adimg.163.com/homepage/zhengda/zhengda041020_21050.swf\' quality=high width="480" height="360" TYPE=\'application/x-shockwave-flash\' PLUGINSPAGE=\'http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\'></EMBED>';
function getAttr2(){
var name=Text1.value;
return getAttr(name);
}
function getAttr(name){
//var s=html
var s=Textarea1.value;
name=name.replace(/\s/g,"");
if(name.search(/[^\w]/)>=0){alert("Invalid Attribute Name !");return null;}
var rg=new RegExp("\\s"+name+"\\s*=(\\S)","i")
if(s.search(rg)>=0)
{
var f=RegExp.$1
if(f=="\'"){
rg=new RegExp("\\s"+name+"\\s*=\\\'([^\\\']*)\\\'","i")
}else if(f=="\""){
rg=new RegExp("\\s"+name+"\\s*=\\\"([^\\\"]*)\\\"","i")
}else{
rg=new RegExp("\\s"+name+"\\s*=(\\S*)","i")
}
if(s.search(rg)>=0)
return RegExp.$1
else
return null
}else{
return null
}
}
//-->
</script>
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-10-23 12:24
社区公告
暂无公告