<html>
<body><script type="text/javascript">var str1 = /(\w+)\s*/gi,str2 = /\s*(\w*)\s*(\w*)\s*(\w*)/gi;
name = "Doe, Jo   h   n";document.write(name.replace(str1,str2);</script></body>
</html>
我想把这里的Doe, Jo   h   n换成 Jo   h   n,Doe Jo   h   n格式不变,但是这个代码没有效果,求助。

解决方案 »

  1.   

    又写了一次,发现依然没有得到想要的结果
    <!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 type="text/javascript">
    var str1 = /(\w+)\s*/gi;
    var str2 = /\s*(\w*)\s*(\w*)\s*(\w*)/gi;
    var name = "Doe, Jo   h   n"; 
    document.write(name.replace(str1,str2));
    </script> 
    </head><body>
    </body>
    </html>
      

  2.   

    <html>
    <body>
     
    <script type="text/javascript">
    name = "Doe, Jo   h   n";
    alert( name.split(',').reverse() )
    </script>
     
    </body>
    </html>
      

  3.   

    楼上代码稍作修改 var name = "Doe, Jo   h   n";  
    document.write(name.split(",").reverse().join()); 
      

  4.   

    非要用正则的话可以这样 var name = "Doe, Jo   h   n";  
    document.write(name.replace(/([^\,]+)\,([^\,]+)/,"$2,$1"));