一个字符串如
"sdf ( sd234f ( sd23f (2345sd"
怎么知道有3个(~
麻烦指教下~

解决方案 »

  1.   

    <script type="text/javascript">
    var str="sdf(sd234f(sd23f(2345sd";
    var number=0;
    for (var i=0;i<str.length;i++){
    if (str.charAt(i)=="("){
    number=number+1;
    }
    }
    alert(number);
    </script>
      

  2.   

    var str = "sdf(sd234f(sd23f(2345sd";
    var number = str.split("(").length-1;
      

  3.   

    能不能用str.indexOf('(')来判断?
    当indexOf返回>-1时,截取余下的,再次进行判断function test(){
        var str = "sdf ( sd234f ( sd23f (2345sd";
        var i = 0;
        while(str.indexOf("(")>-1){
               i++;
               str = str.substring(str.indexOf("(")+1);
        }
        return i;
    }
      

  4.   

    给你个简单的例子:<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>判断正则匹配次数</title>
    <script language="javascript">
    <!--
    /*
    // Regex Example in JavaScript
    // Rainsome Studio
    // [email protected]
    // 2009-01-16 in Shanghai
    */
    function ExecRegex()
    {
    var str="sdf ( sd234f ( sd23f (2345sd";
    var regex1=/\(/gi;
    var arrMatches = str.match(regex1);
    alert("匹配次数为:" + arrMatches.length);
    }
    //-->
    </script>
    </head>
    <body >
    <form>
    <div>Text:sdf ( sd234f ( sd23f (2345sd</div>
    <div>Regex:/\(/gi</div>
    <input type="button"  Value="Check" onClick="javascript:ExecRegex();"/>
    </form>
    </body>
    </html>