1 前言
有時需要生成隨機的用戶(或機器人)昵稱,頭像,金幣等,但又不想太生硬,可以現在網上爬一些常見昵稱到文本中,然后讀取出來,隨機使用即可。
2 代碼
var nickNameArr = [];
function initNickName(){
var dirname =__dirname;
var nickname00 = fs.readFileSync(dirname+"/res/nickname00.txt","utf-8");
//把換行的都全局替換成空格,然后按空格分割為數組
var rn00 = nickname00.replace(/\r\n/g," ");
var nameArr00 = rn00.split(' ');
nickNameArr = [].concat(nameArr00);
console.log("nickNameArr length=",nickNameArr.length);
}
function genName(){
var name = "";
var len =nickNameArr.length;
if(len > 0){
var pos = Math.floor(Math.random()*len);
name = nickNameArr[pos];
if(name.length == 0){ //防止拿到空白值,正常情況不會出現
genName();
}
}
return name;
}
//nickname00文本格式為每個昵稱中間空一格或者換行,例子如下:
昵稱1 昵稱2 昵稱3
nk1 nk2
nk3
昵稱x
nk4
3 頭像隨機
function genHeadimg(){
var url_img = "";
var path = "./public/images/headImages/";
//實際使用用域名,內部測試ip如下
var ip = "127.0.0.1";
//如果有端口就寫,如果沒有,跳過
var port = "8888";
var path_link = "http://"+ip + ":" + port + "/public/images/headImages/";
var files = fs.readdirSync(path);
var len = files.length;
var randNum = Math.floor(Math.random()*len);
var url_img = path_link + files[randNum];
console.log("genHeadimg rand link=",url_img);
return url_img;
}
4 小結
金幣等隨機數只是數字的隨機數,略。
