用split吧...
str="1,2 3,4 5,6 7,8";
a=str.split(" ");a[1]="30,40"document.write(a.join(" "));正则的话
var test = /(?:ord\s*=\s*\d+,\d+\s+)(\d+,\d+)(?:[\s\S]*)//这样试试
return(s.replace(test,function($1)   {alert("$:"+$1);return(parseInt($1)+1);})); 如果只是这几个固定的数字的话,直接用replace好了

解决方案 »

  1.   

    如果你确定是第二组,并且均为数字的话可以
    <script>
    var str='1,2   3,4   5,6   7,8';
    var reg=/(\s+)(\d),(\d)(\s+)/g;
    alert(str.replace(reg,'$1$20,$30$4'));
    </script>
      

  2.   

    昨晚上熬夜搞定此难题. 以下是函数:
    function updstr(src,i,flg,grd){
    var re = /\d+\b/g;
    var arr,s;
    var j=0;
    while ((arr = re.exec(src)) != null){
    if(j==i) {
    if (flg=="+")
    {
    s=RegExp.leftContext+""+(parseInt(RegExp.lastMatch)+grd)+""+RegExp.rightContext;
    }
    if (flg=="-")
    {
    s=RegExp.leftContext+""+(parseInt(RegExp.lastMatch)-grd)+""+RegExp.rightContext;
    }
    // alert(src+":"+s+"::"+i);
    return s;
    }
    j++;
    }
    }解释如下:
    function updstr(src,i,flg,grd){
    src 是要被处理的字串
    i   是第i个数字要被处理(从0开始)
    flg +/-号,是表示要增加还是减少
    grd 增加或减少多少调用如下:
    var src = "1112,  223 34,45 56,67 78,89";
    updstr(src,2,"+",5);
    结果如下:
    1112,  223 39,45 56,67 78,89updstr(src,6,"+",10);
    结果如下:
    1112,  223 34,45 56,67 88,89luxu001207 及 cgisir 谢谢两位的回复. 虽然你们的答案不是我最终所想要的.本函数用在<<通过键盘控制SHAPE的形态>>中,请浏览并指教。http://blog.csdn.net/cuckoo1/archive/2008/01/23/2060920.aspx