2012-11-18 149 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);