<script>
var str = "604134a,604135b,604134c,604134a,604134d,604134e,604134c,604134d,604134e,";
str = str.split(",").sort().join(",").replace(/^,/,"");
str = str.replace(/([^,]+,)\1/g,"$1");
alert(str)
</script>

解决方案 »

  1.   

    强呀,我也以为不行,写了这个<script>
    var str = "604134a,604135b,604134c,604134a,604134d,604134e,604134c,604134d,604134e,";
    var strArr = str.split(",");
    var n = strArr.length;
    for(i=0;i<n;i++)
    {
    for(j=i+1;j<n;j++)
    {
    if(strArr[j] == strArr[i])strArr[j] = 0;
    }
    }
    var myStr="";
    for(i=0;i<n;i++)
    {
    if(strArr[i] != "" && strArr[i] != 0)
    {
    myStr += strArr[i];
    myStr += ";";
    }
    }
    alert(myStr);
    </script>
      

  2.   

    to bencalie:
       如果字符串中有三个或更多一样的情况下就不行了:)不过像你这种写法我还第一次看到!呵呵!先谢了!
      

  3.   

    bencalie(Bencalie) 
    学习!!!
      

  4.   

    我也写一个,但还要完善function replace(){
    var str = "604134a,604135b,604134c,604134a,604134d,604134e,604134c,604134d,604134e,";
    var arr = str.split(",");
    for (i =0; i < arr.length; i++)
    {
    str = str.replace(arr[i], "");
    if (str.indexOf(arr[i]) < 0 )
    str += arr[i] + ",";
    }
    alert(str);
    }
    </script>
    <input type=button onclick="replace()" value="Click me">
      

  5.   

    <script>
    var str = "604134a,604135b,604134c,604134a,604134d,604134c,604134e,604134c,604134d,604134e,";
    str = str.split(",").sort().join(",").replace(/^,/,"");
    str = str.replace(/([^,]+,)\1+/g,"$1");    //多个+试试?
    alert(str)
    </script>
      

  6.   

    重写了一个,应该没问题了
    ---------------------------<script>
    function replace(){
    var str = "604134a,604135b,604134c,604134a,604134d,604134e,604134c,604134d,604134e,";
    var arr = str.split(",");
    var newstr = new String();
    for (i =0; i < arr.length; i++)
    {
    if (newstr.indexOf(arr[i]) < 0 )
    newstr += arr[i] + ",";
    }
    alert(newstr);
    }
    </script>
    <input type=button onclick="replace()" value="Click me">
      

  7.   

    bencalie(Bencalie) 的我运行没成。
    试试:var str = "604134a,604135b,604134c,604134a,604134d,604134c,604134e,604134c,604134d,604134e,";
    str = str.split(",").sort().join(" ");
    document.write(str);
    document.write("<BR>");
    str = str.replace(/\b(.+) \1\b/g,"$1");
    document.write(str)
      

  8.   

    <script>
    var str = "604134a,604135b,604134c,604134a,604134d,604134c,604134e,604134c,604134d,604134e,";
    str = str.split(",").sort().join(" ");
    document.write(str);
    document.write("<BR>");
    str = str.replace(/\b(.+) (\1 )+/g,"$1 ");
    document.write(str)
    </script>
      

  9.   

    哈哈哈,都不对,还是有重复的
    建议这样写,看起来方便些
    var str = "a,a,c,a,d,c,c,a,d,b,";
      

  10.   

    对不住,刚才忘记了最后的字符是没有空格的<script>
    var str = "a,a,c,a,d,c,c,a,d,b,";
    str = str.split(",").sort().join(" ");
    document.write(str);
    document.write("<BR>");
    str = str.replace(/(\S+) (\1 ?)+/g,"$1 ");
    document.write(str)
    </script>
      

  11.   

    这样结果首尾各有一个空格,其实把你的第二次回复改改也可以<script>
    var str = "a,a,c,a,d,c,c,a,d,b,";
    str = str.split(",").sort().join(",")+",";  //加个逗号
    document.write("*" + str + "*");
    document.write("<BR>");
    str = str.replace(/([^,]+,)\1+/g,"$1").replace(/^,/,"").replace(/,$/,"");  //去掉首尾逗号
    document.write("*" + str + "*")
    </script>