我不是很熟,是这里吗?
tmp.replace(/^(.*)(ReportWin=)
              ~~~~~

解决方案 »

  1.   

    很可惜,javascript不支持$11,只能是$1到$9。
      

  2.   

    附:我这里运行显示的结果:
    http://192.1.1.14:8086/MANAGE/FILEDECLARE/Report_DECLARE_INSERT.ASP?ReportWin=2&CompanySort=4&ReportProject=6&CompanyName=8&CompanySort1=10http://192.1.1.14:8086/MANAGE/FILEDECLARE/Report_DECLARE_INSERT.ASP?ReportWin=112
      

  3.   

    faint,不是说到$99的吗?//////////////////////////////////////////
    所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容存储。存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式。每个缓冲区都可以使用 '\n' 访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数。 
    //////////////////////////////////////////不对不对,肯定是到99的。<script>
    var tmp = "http://192.1.1.14:8086/MANAGE/FILEDECLARE/Report_DECLARE_INSERT.ASP?ReportWin=&CompanySort=&ReportProject=&CompanyName=&CompanySort1=&CompanySort2=";
    document.write(tmp.replace(/^(.*ReportWin=)(.*)(&CompanySort=)(.*)(&ReportProject=)(.*)(&CompanyName=)(.*)(&CompanySort1=)(.*)(&CompanySort2=)$/,"$1" + 2 + "$3" + 4 + "$5" + 6 + "$7" + 8 + "$9" + 10 + "$11" + 12));
    alert(RegExp.$1);
    </script>看看我去掉最后一个(.*)就可以了。
      

  4.   

    faint,不是说到$99的吗?//////////////////////////////////////////
    所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容存储。存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式。每个缓冲区都可以使用 '\n' 访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数。 
    //////////////////////////////////////////不对不对,肯定是到99的。<script>
    var tmp = "http://192.1.1.14:8086/MANAGE/FILEDECLARE/Report_DECLARE_INSERT.ASP?ReportWin=&CompanySort=&ReportProject=&CompanyName=&CompanySort1=&CompanySort2=";
    document.write(tmp.replace(/^(.*ReportWin=)(.*)(&CompanySort=)(.*)(&ReportProject=)(.*)(&CompanyName=)(.*)(&CompanySort1=)(.*)(&CompanySort2=)$/,"$1" + 2 + "$3" + 4 + "$5" + 6 + "$7" + 8 + "$9" + 10 + "$11" + 12));
    alert(RegExp.$1);
    </script>看看我去掉最后一个(.*)就可以了。
      

  5.   

    IE 版本:5.00.2920.0000你用高版本的ie可以支持$11?
      

  6.   

    没有IE6也只支持到9,难道是那个CHM翻译错了?气死了alert(RegExp.$1);
    alert(RegExp.$2);
    alert(RegExp.$3);
    alert(RegExp.$4);
    alert(RegExp.$5);
    alert(RegExp.$6);
    alert(RegExp.$7);
    alert(RegExp.$8);
    alert(RegExp.$9);
    alert(RegExp.$10);
    alert(RegExp.$11);
    alert(RegExp.$12);我这样打了一遍,结果,后三个全是未定义。
      

  7.   

    document.write(tmp.replace(/(ReportWin)=(.*)(&CompanySort=)(.*)(&ReportProject=)(.*)(&CompanyName=)(.*)(&CompanySort1=)(.*)(&CompanySort2=)(.*)$/,"$1=" + 2 + "$3" + 4 + "$5" + 6 + "$7" + 8 + "$9" + 10 + "$11" + 12));原因是:,"$1" + 2 后被误认为是 $12
      

  8.   

    呵呵,我想从编译的角度就很难理解为什么可以同时支持$1和$11,用$01还可以理解一些。另外,我查资料都是看英文的msdn。
      

  9.   

    哦,我明白了,的确是$1 + 2的问题,我说怎么会 ID 值为 0 - 29全都是错的了,30就是对的,晕,看来还是支持到99的,CHM没有骗我。给分了。以前好用的时候是因为开始的值里是中文,现在值里有数字了。
      

  10.   

    xuzuning(唠叨) :你说的是对的,原来我忽略了"$1" + 2 + "$3" + 4 + "$5" + 6 + "$7" + 8 + "$9" + 10 + "$11" + 12这是一个字符串其实最后匹配的是"$12$34$56$78$910$1112"晕。