2012-11-18 151 views
1

說我有一個包含域的字符串:分割字符串轉換成兩個獨立的部分

var domain = "http://google.com"; 

每個腳本運行的時間,我想破這個腳本分爲兩個部分隨機。

所以,如果我要運行它的第一次,它可以給我的結果:

part 1: http://go 
part 2: ogle.com 

第二次運行會產生:

part 1: http://goog 
part 2: le.com 

在完全隨機各一次。

我該如何做到這一點?

+0

歡迎來到[SO];請務必花些時間查看[faq]。這裏的問題通常會以某種方式涉及代碼,如果你展示[你嘗試過的](http://whathaveyoutried.com),這對每個人都有幫助。就目前而言,我看不出任何努力來解決自己的問題。 – zzzzBov

回答

2

生成一個介於0和字符串長度之間的隨機數。從中獲取一個子字符串。

(function() { 

    "use strict"; 

    var domain, number, pieces; 

    domain = "http://google.com"; 
    number = Math.ceil(Math.random() * (domain.length - 1)); 
    pieces = [domain.substring(number, -number), domain.substring(number)]; 

    console.log(pieces); 

}());​ 

演示:http://jsfiddle.net/KTPXt/

+0

非常有幫助,謝謝! – mike

0

嘿這裏是我會怎麼做..也許它會爲你工作爲好。

 var domain = "http://google.com"; 

     var lengthOfdomain = domain.length; 

     var post1 = Math.floor((Math.random()*lengthOfdomain)+1); 

     var post2 = 0; 

     if(post1==lengthOfdomain){ 
      if((lengthOfdomain%2)==0){ 
       post1 = lengthOfdomain/2; 
       post2 = post1; 
      }else{ 
       post1 = (lengthOfdomain-1)/2; 
       post2 = post1+1; 
      } 
     }else{ 
      post2 = lengthOfdomain-post1; 
     } 


     if(post1>post2){ 
      var dom1 = domain.substr(0,post2); 
      var dom2 = domain.substr(post2,post1); 
     }else{ 
      var dom1 = domain.substr(0,post1); 
      var dom2 = domain.substr(post1,post2); 
     } 

     alert(dom1+' + '+dom2);