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 小結
金幣等隨機數只是數字的隨機數,略。