求助了自己写的代码 调试部不成功。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<script language="javascript">
function strchange(str)
{

str1=str.split(/^[A-Z]/);
   
for(var i=0,i<str1.length,i++)
{
if (str1[i]="")
{
str1[i]=1;
}
}
str1.shift();

for(i=0,i<str1.length,i++)
{
s1=str.replace(str1[i],",");
str2=s1.split(",");

}

 for(var i=0,i<str1.length,i++)
  {
     for(var j=0,j<str1[i],j++)
       {
      var out=new Array();
  if(str1[i]="1")
          {
           out[i]=str2[i];
          }
         else{
               out[i]+=str2[i];   
              }
 
        }
}
for(var i=0,i<out.length,i++)
{
var str4=new String;
str4+=out[i];
return str4;
}

alert(strchange("A1B2C11"));
</script>
</body>
</html>

解决方案 »

  1.   

    var s = "dacba";
            s = s.split("").sort().toString().replace(/,/gi,"") ;
            var obj=Array.prototype.slice.call(s,0);
        var obj = s.replace(/(.)(?=[^$])/g,"$1,").split(",");
        alert(obj + "");
        alert(obj.length);
        alert(obj instanceof Array);
      

  2.   

    其实就前两句代码就搞定了。
    var s = "dacba";
            s = s.split("").sort().toString().replace(/,/gi,"") ;
            alert(s);这就可以实现你的要求了。
      

  3.   

    s.split("") 把字符串转换为数组, 然后.sort()数组的排序,  在转换为string但是这个string每个字符都用逗号隔开了, 所以再用.replace(/,/gi,"")把逗号替换为空字符
      

  4.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    function strchange(str)
    {
        str1=str.split(/[A-Z]/);
       str2=str.split(/\d/);
        out="";
        for(var i=1;i<str1.length;i++)
        {
          for(var j=0;j<str1[i];j++) {
            out += str2[i-1];
          }
        }
      return out;
     }
      alert(strchange("A1B2C11"));
    </script>
    </head>
    <body>
    </body>
    </html>
    试着写了写,不过这个问题大,呵呵
      

  5.   

    var str = 'a2b3cde11';
    var s = str.replace(/([a-z])(\d+)/gi,function($0,$1,$2){
    return (new Array(parseInt($2)+1)).join($1);
    });
    alert(s);
      

  6.   

    这个写法有点意思。
    <html>
    <head>
    <title>ToChange</title>
    <script type="text/javascript">
    function ToChange(){
    var input=document.getElementById("input").value;
    var objshow=document.getElementById("showresult");
    var regex=/([a-z])(\d+)/ig;
    var result=input.replace(regex,function(){
    var arg1=arguments[1],arg2=arguments[2]-0;
    if(isNaN(arg2))return arguments[0];
    return (new Array(arg2+1)).join(arg1);
    /*
    var arr=new Array();
    for(var i=0;i<arg2;i++)arr[i]=arg1;
    return arr.join(''); 
    */
    });
    objshow.innerHTML=result;
    }
    </script>
    </head>
    <body>
    <input id="input" type="text" value="a2b3cde11"/>
    <input type="button" value="ok" onclick='javascript:ToChange();' />
    <div id ="showresult"></div>
    </body>
    </html>