<script type="text/javascript">
var pat = /(.*?)([\d]:[\d])([^\2]*),\2(.*)/;
var strng = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
while (pat.test(strng)) {
strng = strng.replace(pat, "$1$2$3$4");
}
document.write(strng);
</script>

解决方案 »

  1.   

    <script language="JavaScript">
    <!--
    var str = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
    var strDelSame = "";
    str.replace(/\d+:\d+[\,|$]/g,function(){
        if(strDelSame.indexOf(arguments[0]) == -1)
            strDelSame += arguments[0];
    });
    document.write(strDelSame);
    //-->
    </script>
      

  2.   

    <script type="text/javascript">
    var pat = /([\d]:[\d])([^\1]*),\1/;
    var strng = "1:3,1:2,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
    while (pat.test(strng))
    strng = strng.replace(pat, "$1$2");
    document.write(strng);
    </script>
    写麻烦啦。。这样就行了。
      

  3.   

    <script type="text/javascript">var str = "1:2,重复任意次,建议字符串长度达到1W以上";
    document.write("字符串长度:10003 个字符","<BR>");var ds = new Date().valueOf();
    var strDelSame = "";str.replace(/\d+:\d+[\,|$]/g,function(){
        if(strDelSame.indexOf(arguments[0]) == -1)
            strDelSame += arguments[0];
    });
    var de = new Date().valueOf();
    document.write(strDelSame,"<BR>");
    document.write("time:",de-ds,"ms","<BR>");
    var ds = new Date().valueOf();
    var pat = /([\d]:[\d])([^\1]*),\1/;
    while (pat.test(str))
    str = str.replace(pat, "$1$2");
    var de = new Date().valueOf();
    document.write(str,"<BR>");
    document.write("time:",de-ds,"ms","<BR>");
    </script>
      

  4.   

    <script type="text/javascript">
    //<![CDATA[
    var str=("1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2").split(',');

    document.write(fDelRddcAr(str));

    function fDelRddcAr (_ar){
    var _ar=_ar.sort();
    for (var i=0; i<_ar.length; i++){
    var temp1=_ar[i];
    var temp1_=_ar[i+1];
    if(temp1===temp1_){ _ar.splice(i,1);};
    }
    if((typeof $_KhNum)=='undefined')$_KhNum=10;
    if($_KhNum!==1)return fDelRddcAr(_ar, $_KhNum--);
    return _ar;
    } // shawl.qiu code
    //]]>
    </script>
      

  5.   

    回来感谢 zhaoxiaoyang(梅雪香@深圳), 学了一招.<script type="text/javascript">
    //<![CDATA[
    var str='1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2,1:3,1:4';
    var temp=str;
    var i=1
    while(i<1000){
    str+=temp;
    i++;
    }
    var str=str.split(',');

    document.write(fDelRddcAr(str));

    function fDelRddcAr (_ar){
    var temp = '';
    var ='$$#@$%$%#'
    _ar=_ar.join() ///.*?\$|.*?$/g
    var _re=new RegExp('.*?'+.replace(/(.)/g,'\\$1')+'|.*?$','g'); 
    var _re_=new RegExp(.replace(/(.)/g,'\\$1')+'$');

    _ar.replace(_re,function(){
    if(temp.indexOf(arguments[0]) == -1)
    temp += arguments[0];
    }
    );
    temp=temp.replace(_re_,'');
    return temp.split();
    } // shawl.qiu code
    //]]>
    </script>
      

  6.   

    <script type="text/javascript">
    var pat = /(.*?)([\d]:[\d])([^\2]*),\2(.*)/;
    var strng = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2,12:1,100:21";
    while (pat.test(strng)) {
    strng = strng.replace(pat, "$1$2$3$4");
    }
    document.write(strng);
    </script但是如果有12:1,100:21,1:20,31:109这样的,那该怎么办呢?
      

  7.   

    <script type="text/javascript">
    function formatStrng(val) {
    var strng = "";
    val.replace(/,?(\d+:\d+)/g, function() {
    if(strng.indexOf(arguments[1]) == -1)
    strng += arguments[0];
    });
    return strng
    }
    var str = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
    str = formatStrng(str);
    document.write(str);
    //修改了下zhaoxiaoyang(梅雪香@深圳) 大哥的方法。
    </script>
      

  8.   

    <script type="text/javascript">
    function formatStrng(val) {
    var nstrng = ",";
    val.replace(/,?(\d+:\d+)/g, function() {
    if(nstrng.indexOf("," + arguments[1] + ",") == -1)
    nstrng += arguments[1] + ",";
    });
    return nstrng.substring(1, nstrng.length - 1);
    }
    var str = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
    str = formatStrng(str);
    document.write(str);
    </script>
    //- -#没考虑全面,这样就应该没有问题了。。