1 前言
有时需要生成随机的用户(或机器人)昵称,头像,金币等,但又不想太生硬,可以现在网上爬一些常见昵称到文本中,然后读取出来,随机使用即可。
2 代码
var nickNameArr = []; function initNickName(){ var dirname =__dirname; var nickname00 = fs.readFileSync(dirname+"/res/nickname00.txt","utf-8"); //把换行的都全局替换成空格,然后按空格分割为数组 var rn00 = nickname00.replace(/ /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 小结
金币等随机数只是数字的随机数,略。