1

假设我有一个包含域的字符串:

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

每次脚本运行时,我都想将这个脚本随机分成两部分。

因此,如果我第一次运行它,它可以给我以下结果:

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

第二次运行将产生:

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

每次完全随机。

我怎样才能做到这一点?

4

2 回答 2

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/KTP​​Xt /

于 2012-11-18T07:45:29.303 回答
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);
于 2012-11-18T08:04:38.010 回答