假设我有一个包含域的字符串:
var domain = "http://google.com";
每次脚本运行时,我都想将这个脚本随机分成两部分。
因此,如果我第一次运行它,它可以给我以下结果:
part 1: http://go
part 2: ogle.com
第二次运行将产生:
part 1: http://goog
part 2: le.com
每次完全随机。
我怎样才能做到这一点?
假设我有一个包含域的字符串:
var domain = "http://google.com";
每次脚本运行时,我都想将这个脚本随机分成两部分。
因此,如果我第一次运行它,它可以给我以下结果:
part 1: http://go
part 2: ogle.com
第二次运行将产生:
part 1: http://goog
part 2: le.com
每次完全随机。
我怎样才能做到这一点?
生成一个介于 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 /
嘿,这就是我的做法。也许它也对你有用。
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);