本帖最后由 KazamiYuuka614 于 2012-02-22 17:27:43 编辑

解决方案 »

  1.   

    当我把第一个‘<’去掉之后得到的结果是:div id='[wo]'>[ni] 
    应该没考虑全。。
      

  2.   

    你怎么知道它不行?
    var aa= '<div id="{wo}" >{ni}</div>';  
    var reg1=/\{([a-z]+)\}/g;
    var re1 = aa.replace(reg1, function($0,$1,$2){return(("["+$1+"]"));});
    document.write(re1);当然,可以用不你写的那么繁琐
    var aa= '<div id="{wo}" >{ni}</div>';  
    var reg1=/\{([a-z]+)\}/ig;
    var re1 = aa.replace(reg1, "[$1]");
    alert(re1);
      

  3.   

    晕,上面忘了改了,把document.write改为alert看结果
    var aa= '<div id="{wo}" >{ni}</div>';  
    var reg1=/\{([a-z]+)\}/g;
    var re1 = aa.replace(reg1, function($0,$1,$2){return(("["+$1+"]"));});
    alert(re1);
      

  4.   

    var reg = /[\u4e00-\u9fa5]+/g,
    infos = 'L于O盼V盼E',
    ret = infos.replace( reg , function( $& ){ return escape( "["+ $& + "]" );} ) ;
    // ret = infos.replace( reg , $& + '_' ) ;
    document.write(ret);求教,我这个该怎么改?
      

  5.   


    嘎嘎,我这样整,竟然行了~ 
    $1就能遍历所有的匹配内容了~
    真是琢磨不透,瞎试出来的 var reg = /[\u4e00-\u9fa5]+/g,
    infos = 'L于O盼V盼E',
    ret = infos.replace( reg , function( $1 ){ return escape( $1 ).replace('%','\\');} ) ;
    // ret = infos.replace( reg , escape( $_ )) ;
    // ret = infos.replace( reg ,  $_ ) ;
    document.write(ret);
      

  6.   

    更新:<script type="text/javascript">
    <!--
    var reg = /[\u4e00-\u9fa5]+/g,
    infos = 'L于O盼V盼E',
    ret = infos.replace( reg , function( e ){ return escape( e ).replace('%','\\');} ) ;
    document.write(ret);
    //-->
    </script>