var stand = "区间:50 — 120";
var n = stand.match("/[\\d.]+/");想通过这个方法,取得字符串中的整数,无论正负整数或者也有可能是小数,
但是现在只能取到第一个50,不能取到120
这是怎么回事啊?
大家帮个忙哈,先谢过了

解决方案 »

  1.   

    try...<script type="text/javascript"> 
    var stand = "区间:50 — 120";
    var reg = /[\d.]+/g;
    var arr = stand.match(reg);
    for(var i=0;i<arr.length;i++)
    {
        document.write(arr[i] + "<br>");
    }
    </script>
      

  2.   

    还是严谨一点吧。否则50.50.50咋办
    /\b(?!0\d)\d+(\.\d+)?\b/g
      

  3.   


    var stand = "区间:-5.0 — 1.20";
    var reg = /(-?\d+[.]?\d*)\D+(-?\d+[.]?\d*)/g;
    a = reg.exec(stand);
    alert(a[1]+':::'+a[2]);
      

  4.   

    exec在这里不用写全局g,因为匹配组写好了2个
      

  5.   

    var stand = "区间:50 — 120";
    while((arr=/\b(?!0\d)\d+(\.\d+)?\b/g.exec(stand ))!=null){
      alert(arr);
    }
      

  6.   


    var stand = "区间:-5.0 — 1.20 另外还有一个区间:6.0 — 33";
    var reg = /(-?\d+[.]?\d*)\D+(-?\d+[.]?\d*)/g;
    while((a = reg.exec(stand))!=null){
    alert(a[1]+':::'+a[2]);
    }求确定,刚试了下,match函数好像不能做到这种多次循环,每一轮多个参数需要提取(相当于2维)?