var str="超出索引范围&#65281";
str.replace(/&#\d+\;/g,function($) {//这样写正则,$中包含&#这两个符号,我要怎样写才能不包含直接替换&#与;之间的数字?
    return "dddddddd";
})

解决方案 »

  1.   

    不包含直接替换&#与;之间的数字?什么意思?你需要一个什么样的结果?
      

  2.   


    //使用分组
    var str="超出索引范围ᦀ";
    str = str.replace(/(&#)(\d+)(\;)/g,function($1,$2,$3,$4) {
        alert($1);
    alert($2);
    alert($3);
    alert($4);
    });
    //alert(str);
      

  3.   

    只是10进制的话.
    javascript:alert(String.fromCharCode.apply(null, '超出索引范围&#65281'.split(/;?&#/)));
      

  4.   


    var str="超出索引范围&#65281"; 
    str = str.replace(/(&#)\d+(\;?)/g,function(m/*matched*/, $1, $2) {
        return $1 + "dddddd" + $2;
    });
    alert(str);
      

  5.   


    <script type="text/javascript">
    <!--
    var str="&#36229;&#20986;&#32034;&#24341;&#33539;&#22260;&#65281"; 
    str = str.replace(/(&#)\d+(;?)/g,"$1ddddd$2");
    alert(str)
    //-->
    </script>