本帖最后由 in0512 于 2009-10-27 10:50:11 编辑

解决方案 »

  1.   

    需求不明,LZ是要把重复字符串最后两位换成**还是把td里面无论什么内容最后两位换成**?
      

  2.   

    无论什么内容,最后两位都换成**不一定是aaa,有可能是asdfasdrfwekrhj
      

  3.   

    为什么要用正则表达式?
    这样不行吗?
    <!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="">  <script language="javascript">
      function test()
      {
     var arr = document.getElementsByTagName("td");
     for(var i =0;i<arr.length;i++)
     {
        var text = arr[i].childNodes[0].nodeValue;
    var str= text.substring(0,text.length-2)+"**";
    arr[i].childNodes[0].nodeValue=str;
     }
      }
      </script>
     </HEAD> <BODY>
     <table>
      <tr> 
    <td>aaaaa </td> 
    <td>bbb </td> 
    <td>ccccc</td> 
    </tr> 
    </table>
    <input type="button" name="test" value="change" onclick="test();"/>
     </BODY>
    </HTML>
      

  4.   

    var str =
    "<tr>\n" +
    "<td>aaaaa</td>\n" +
    "<td>bbb</td>\n" +
    "<td>ccccc</td>\n" +
    "......\n" +
    "</tr>\n";str = str.replace(/(<td>)([\s\S]*?)([\s\S]{2})(<\/td>)/g, "$1$2*$4");
    alert(str);
      

  5.   


    <script>
        window.onload=function(){
            var str=document.body.innerHTML;
            var reg=/(<td>.*?)(.){2}(<\/td>)/img;
            alert(str.replace(reg,"$1**$3"))
        }
    </script>
    <body>
    <tr>
        <td>aaaaa </td>
        <td>bbb </td>
        <td>ccccc </td>
        ......
    </tr>
    </body>
      

  6.   


    如果不是HTML元素呢?换成ID的怎么写?<tr>
    <td id="a">adsfasdf</td>
    <td id="a">asdf2qer2erfasdf</td>
    </tr><tr>
    <td>asdf</td>
    <td>adsfasdf</td>
    </tr>只想把id为a的最后两位替换掉
      

  7.   

     var reg=/(<td\s*id=\"a\"\s*>.*?)(.){2}(<\/td>)/img;