function   testss()
{  var a=document.getElementsByTagName("body")[0].innerHTML.toString()} 
</script>
[/code]
</head>
<body onload='testss()'>

解决方案 »

  1.   

      function       testss()
    {    var   a=document.getElementsByTagName("body")[0].innerHTML.toString()
    alert(a)
      

  2.   

    /\<body\>\s\S\*?<\/body\>/i;
      

  3.   

    正则的话要用//mig   这样,匹配换行的,而且 <body   onload='testss()'>这种  也要考虑,就是不能简单的<body> .*\ <\body>
      

  4.   

    function   testss(obj)
    {
      //obj为html内容
      var   reg   =   /\ <body\> [.|\n]*\ <\/body\> /i;
      alert(obj.match(reg));

    不行吗?
      

  5.   

    哦回的晚了,还是听mingxuan的吧
      

  6.   

    先谢谢各位,传进来的是html,应该是文本吧,怎么用正则去匹配呢?其实我传进来的html是自己定的。就是<body>.*</body>,但不知道为什么取不到值。感觉是多行的问题。
      

  7.   

    function   testss(obj)
    {
      //obj为html内容
      var   reg   =   /\ <body\> [.|\n]*\ <\/body\> /i;
      alert(obj.match(reg));

    ------------------
    谢谢
    alert(null)
      

  8.   


    <script type="text/javascript">  var   reg   =   /^<body>.*?<\/body>$/mi;</script>
      

  9.   


    <script type="text/javascript">  var   reg   =   /<body>.*?<\/body>/mig;
    </script>
      

  10.   

    <body>
    <!--头部-->
    ..................
    ...............
    ..........等等。
    </div>
    <!--结束-->
    </body>
    --------------------------------------
    body就上面内容,/<body>.*?<\/body>/mig;
    也不行,郁闷
      

  11.   

    如果字符串是下面的内容
    <body>
    <!--头部-->
    ..................
    ...............
    ..........等等。
    </div>
    <!--结束-->
    </body> 还用取么,不都是body么还是下面的内容
    123123123
    <body>
    <!--头部-->
    ..................
    ...............
    ..........等等。
    </div>
    <!--结束-->
    </body> 
    aaaaaaaaaaaaaaaaaaaaa
    只取body里面的?
      

  12.   

    var str = (HTML字符串);
    var re = /<body[^>]*>([\s\S]*?)</body>/ig;
    var arr = [];
    while(re.exec(str))
    {
    arr[arr.length] = RegExp.$1;
    }
    alert(arr.join("\n"));
      

  13.   

    传的完整版是 一页面的html编码,就是那种 <html>...<body></body></html>这种源码,我想用正则吧里面属于<body>里面的内容取出来,
    function   testss(obj) 

      //obj为html内容 
       alert(obj);  //能看见代码,一切正常
      var   reg   =   /\<body\> .*\ <\/body\> /mig; //到这就为空了
      alert(obj.match(reg)); 

    自己用一行的obj="ssssss <body> tttttttttt </body> iiii";测试是能取到值的,我不知道怎么定义多行的值。
      

  14.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    function   testss() 

      //obj为html内容 
      var obj=document.getElementById("t").value;
      alert(obj)
      var   reg   =   /\<body\>(\s|.)*\<\/body\>/; 
      alert(obj.match(reg)); 

    </script></head><body>
    <label>
    <textarea id="t" name="textarea" rows="5"></textarea>
    </label>
    <p>
      <label>
      <input type="submit" name="Submit" value="提交" onclick="testss();" />
      </label>
    </p>
    </body></html>
      

  15.   

    问gzdiablo:
    \S\s不是应该包括回车的整个都匹配出来,用循环加alert(arr.join("\n"));是什么意思?
      

  16.   

    var str = (HTML字符串);
    var re = /<body[^>]*>([\s\S]*?)</body>/ig;//表达式 [\s\S]*? 表示非贪婪匹配任何字符
    var arr = [];//这里创建了一个数组 因为可能存在多个<body>标签的情况 标准情况下只有一个
    while(re.exec(str))//遍历每个匹配

        arr[arr.length] = RegExp.$1;//将匹配到的内容 加入数组
    }
    alert(arr.join("\n"));//多条匹配 使用换行符连接起来
      

  17.   

    收到!thanks you,祝大家新年快乐