求一正则表达式取得特定内容 var oTargetTable = document.getElementById("mytable");alert(oTargetTable.outerHTML); // 这就是你想要的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用XMLHTTP获取了别人网站的返回的一段HTML代码,这其中包括有head,body,title等标签.完整的HTML代码.据观察发现在代码中有一ID名为mytable的表格,该表格的内容正是我所需要的.其他的就不要了.如何取得该ID名为mytable表格的内容呢?<td ID=mytable >23445</td></textarea> <script> var str=textarea1.value; re=/<td[\s\S]*ID=mytable[\s\S]*>([\s\S]*?)<\/td>/ig; str.match(re); //str=str.replace(re,""); str=RegExp.$1; alert( str); </script> jinjuduo().你的代码不行啊,这样测试虽然可以,但只要中间还有其他HTML标签就失效,你要知道TABLE中肯定会有TD,TR等标签,请你完整测试一下. 这样写:var reg = /<(table)(?:[^>]*)(?:id="mytable")(?:[^>]*)><\/\1>/g;while ((arr = re.exec(string)) != null){ alert(arr.input);} webphoenix() 请问你试过吗?我试怎么不行啊. <textarea name=textarea1><table ID=mytable >23445<td>123dsfds</td></table></textarea> <script> //var str=textarea1.value; re=/<table[\s\S]*ID=mytable[\s\S]*?>([\s\S]*?)<\/table>/ig; alert(aaa(textarea1.value)) function aaa(x) {var rtn="";var arr = x.match(re);for(i=0;i<arr.length;i++){rtn += arr[i].replace(re,"$1") + "\n";}return(rtn); } </script> sorry,刚写错了正则应该是这样的:/(?:<)(table)(?:[^>]*)(?:id="mytable")(?:[^>]*)(?:>)(?:.*)(?:<\/\1>)/g----------例子--- <!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><title> new document </title><meta name="generator" content="editplus"><meta name="author" content=""><meta name="keywords" content=""><meta name="description" content=""></head><body> <script language="JavaScript"> <!-- var string = '<html><head></head><body><div>测试测试</div><table id="mytable" border="1"><tr><td>table content</td></tr></table></body></html>'; var re = /(?:<)(table)(?:[^>]*)(?:id="mytable")(?:[^>]*)(?:>)(?:.*)(?:<\/\1>)/g; //alert(re.test(string)); while ((arr = re.exec(string)) != null){ alert(string.substring(arr.index,arr.lastIndex)); } //--> </script></body></html> 求助:javascript面向对象这种写法谁懂? 请教:JavaScript能否在为style添加《值改变》事件 radio 全选 jquery tablesorter 如何设置初始条数??? document.write输出相同的内容 只显示一个 提交方式 action="${fn:getLink('co/coCheck.jsp') }" method="post"> < JS中判断输入是否为数字的函数有吗?? javascript做的菜单、效果有时候显示不出来 关于iframe的问题。 百度地图api 倒计时关闭提示框 如何在脚本中改变lable 中字体的颜色
<td ID=mytable >23445</td>
</textarea>
<script>
var str=textarea1.value;
re=/<td[\s\S]*ID=mytable[\s\S]*>([\s\S]*?)<\/td>/ig;
str.match(re);
//str=str.replace(re,"");
str=RegExp.$1;
alert( str);
</script>
while ((arr = re.exec(string)) != null){
alert(arr.input);
}
<table ID=mytable >23445<td>123dsfds</td></table>
</textarea>
<script>
//var str=textarea1.value;
re=/<table[\s\S]*ID=mytable[\s\S]*?>([\s\S]*?)<\/table>/ig;
alert(aaa(textarea1.value))
function aaa(x)
{
var rtn="";
var arr = x.match(re);
for(i=0;i<arr.length;i++)
{
rtn += arr[i].replace(re,"$1") + "\n";
}
return(rtn);
}
</script>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title> new document </title>
<meta name="generator" content="editplus">
<meta name="author" content="">
<meta name="keywords" content="">
<meta name="description" content="">
</head><body>
<script language="JavaScript">
<!--
var string = '<html><head></head><body><div>测试测试</div><table id="mytable" border="1"><tr><td>table content</td></tr></table></body></html>';
var re = /(?:<)(table)(?:[^>]*)(?:id="mytable")(?:[^>]*)(?:>)(?:.*)(?:<\/\1>)/g;
//alert(re.test(string));
while ((arr = re.exec(string)) != null){
alert(string.substring(arr.index,arr.lastIndex));
}
//-->
</script>
</body>
</html>