先用split(",") 分成数组, 然后循环一下数组, 记住1,2,3,4 的下标, 然后再取呢?但假如 2='36,38,1,3,4' 这就不好分了 

解决方案 »

  1.   

    function STR_chaifen()
    {
        var STR='1,XL,2XL,3XL,2,36,38,40,42,3,横,直,4,红,黑,黄';
        var a=STR.split(',2,');
        var b=STR.split(',3,');
        var c=STR.split(',4,');
        var aa=a[0].split('1,');
        var bb=b[0].split('2,');
        var cc=c[0].split('3,');
        var aaa='1='+aa[1];
        var bbb='2='+bb[1];
        var ccc='3='+cc[1];
        var ddd='4='+c[1];
       alert(aaa+";"+bbb+";"+ccc+";"+ddd);
    }
      

  2.   

    如果=号左侧只是<10的整数,右则没有<10的整数可以这样
    <script>
    var str='1,XL,2XL,3XL,2,36,38,40,42,3,横,直,4,红,黑,黄';
    var reg = /,?(\d),(.+?)(?=,\d,|$)/g;
    str = str.replace(reg, '$1=$2\n');
    alert(str);
    </script>
      

  3.   

    var a = '1,XL,2XL,3XL,2,36,38,40,42,3,横,直,4,红,黑,黄' .split(",")
    var j =1 
    var str=[]
    for (i=0;i<a.length;i++){
    if (a[i] == j){
    j++
    str[j]=''
    }else{str[j] = str[j] + a[i] +','
    }
    }
    alert(str[2]+"\n"+str[3]+"\n"+str[4]+"\n"+str[5])