字符串如下:
function anonymous() { AlaertW('hello'); }
需要截取出其中的AlaertW('hello'),直接用replace方法实现,谢谢!

解决方案 »

  1.   

    var i = "function anonymous() { AlaertW('hello'); }";
    var reg = /\{([^\}]+)\}/g;
    reg.exec(i);
    alert(RegExp.$1);
      

  2.   

    谢谢楼上各位。但为什么我直接在replace中使用就不行了。代码如下,麻烦各位再帮忙指教,谢谢!
    <!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 type="text/javascript">
      function AlertT(str){
        var obj = document.getElementById("test");
    var onclickstr = obj.onclick.toString();
    alert(onclickstr);
    alert(onclickstr.replace(/\{([^\}]+)\}/g,"$1"));//为什么这个弹出的不对了??
                var reg = /\{([^\}]+)\}/g;
                reg.exec(onclickstr);
                alert(RegExp.$1);
      }
      </script>
     </HEAD> <BODY>
      <input type="button" id="test" value="click here" onclick="AlertT('abd')">
     </BODY>
    </HTML>
      

  3.   


      <script type="text/javascript">
      function AlertT(str){
        var obj = document.getElementById("test");
        var onclickstr = obj.onclick.toString();
        alert(onclickstr);
        alert(onclickstr.replace(/^[^\{]+\{([^\}]+)\}.*?$/mi,"$1"));//为什么这个弹出的不对了??
                var reg = /\{([^\}]+)\}/g;
                reg.exec(onclickstr);
                alert(RegExp.$1);
      }
      </script>
    你那个是把 {XXX} 替换成 XXX
      

  4.   

    LZ就不要用replace了,直接 onclickstr = RegExp.$1 就行了<!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 type="text/javascript">
      function AlertT(str){
        var obj = document.getElementById("test");
        var onclickstr = obj.onclick.toString();
    var reg = /\{([^\}]+)\}/g;//匹配一对大括号(包含{})括起来的部分
    reg.exec(onclickstr);
        alert(onclickstr);
        alert(onclickstr.replace(/\{([^\}]+)\}/g,"$1"));//replace,替换:把包含{}的部分替换成{}里面的内容,也就是仅仅去除了{}
        alert(RegExp.$1);//$1...$9:返回九个在模式匹配期间找到的、最近保存的部分,也就是正则中([^\}]+)匹配的那一段
      }
      </script>
     </HEAD> <BODY>
      <input type="button" id="test" value="click here" onclick="AlertT('abd')">
     </BODY>
    </HTML>
      

  5.   

    <!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 type="text/javascript">
      function AlertT(str){
        var obj = document.getElementById("test");
        var onclickstr = obj.onclick.toString();
        alert(onclickstr.replace(/(^[^{]*\{)|(\}[^}]*$)/g,''));//为什么这个弹出的不对了??
      }
      </script>
     </HEAD> <BODY>
      <input type="button" id="test" value="click here" onclick="AlertT('abd')">
     </BODY>
    </HTML>
      

  6.   

    var str="function anonymous() { AlaertW('hello'); }";
    var reg = /.+\n?{|}/g
    alert(str.replace(/.+\n?{|}/g,""));