知道字符串,lang (max. 2000 km ),或 breit(max. 200 m ),或height
我需要先判断字符串是否含有(max.),如果有,想得到其中的值,例如2000km, 或200m,该怎么编,多谢!!!

解决方案 »

  1.   


    var s = "lang (max. 2000 km ) breit( max. 200 m ),";
    var re = new RegExp("\\bmax\\.\\s+([^\\)]+)\\)", "g");
    while((n = re.exec(s))!=null){
        var v = n[1].replace(/\s+$/, "");
        alert(v);
    }
      

  2.   

    <script language="javascript">
                var s = "lang (max. 2000 km ) breit( max. 200 m )";
                var strs = s.split("max.");
                for (var i = 0; i < strs.length; i++)
                {
                    alert(strs[i]);
                    var km = strs[i].substring(0, strs[i].indexOf(")"));                if (km.length > 0)
                        alert("KM is :"+km);
                 }
            </script>
      

  3.   


     <INPUT TYPE="text" id="inp" value="lang (max. 2000 km )"><INPUT TYPE="button" VALUE="test" ONCLICK="fun(inp.value)">
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      function fun(str) {
    if (str.indexOf("max.") != -1) //如果字符串中包含"max."
    {
    var len = str.substring(str.indexOf("max.")+4,str.indexOf(")")); //取"max."和")"中间的部分
    alert(len);
    }
    else alert("no max!");
      }
      //-->
      </SCRIPT>
      

  4.   

    再问一下,我能够得到 '2000 km ',如何从中得到单位 km, 谢谢!!!
      

  5.   

    因为单位不同,例如'2000 km ','300 m','400 a'等等
      

  6.   


    var str = "lang (max. 2000 km ),或 breit(max. 200 m ),";
    var reg = /\(max[.]([^()]+?)\)/ig, re = [], ret;
    while((ret = reg.exec(str)) != null) {
    re[re.length] = ret[1].replace(/[^a-z]/g,'');
    }
    alert(re)
      

  7.   

    '200 km²' 出来的只是km, 这是为什么,谢谢!!!