javascript隨機(jī)生成用戶名的實現(xiàn)方式
javascript隨機(jī)生成用戶名
這幾天忙著搭一個社區(qū),前端主要vue+antd,后端使用express+MongoDB。
在注冊用戶的環(huán)節(jié),如果前端沒有填寫用戶名,后端就給他隨機(jī)生成一個。

主要方法函數(shù)
randomUser.js
// 第一個參數(shù)為你想生成的固定的文字開頭比如: 微信用戶xxxxx
// 第二個為你想生成出固定開頭文字外的隨機(jī)長度
function random(prefix, randomLength) {
// 兼容更低版本的默認(rèn)值寫法
prefix === undefined ? prefix = "" : prefix;
randomLength === undefined ? randomLength = 8 : randomLength;
// 設(shè)置隨機(jī)用戶名
// 用戶名隨機(jī)詞典數(shù)組
let nameArr = [
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
["a", "b", "c", "d", "e", "f", "g", "h", "i", "g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
]
// 隨機(jī)名字字符串
let name = prefix;
// 循環(huán)遍歷從用戶詞典中隨機(jī)抽出一個
for (var i = 0; i < randomLength; i++) {
// 隨機(jī)生成index
let index = Math.floor(Math.random() * 2);
let zm = nameArr[index][Math.floor(Math.random() * nameArr[index].length)];
// 如果隨機(jī)出的是英文字母
if (index === 1) {
// 則百分之50的概率變?yōu)榇髮?
if (Math.floor(Math.random() * 2) === 1) {
zm = zm.toUpperCase();
}
}
// 拼接進(jìn)名字變量中
name += zm;
}
// 將隨機(jī)生成的名字返回
return name;
}
module.exports = random

因為數(shù)據(jù)要入庫,所以此方法我寫在后端,用的是module模塊導(dǎo)出,require()函數(shù)來加載模塊。
放在前端的話,建議使用export 導(dǎo)出,import導(dǎo)入!
至于區(qū)別,詳細(xì)的自己去查文檔,我在這就放個簡單的說明。

調(diào)下接口看看
手機(jī)號隨便填的,至于是哪位大冤種的,就不得而知了。

嗯。接口是返回成功了。

看看數(shù)據(jù)庫,也沒問題,可以看到username是隨機(jī)生成的。

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
學(xué)習(xí)JavaScript設(shè)計模式之代理模式
這篇文章主要為大家介紹了JavaScript設(shè)計模式中的狀態(tài)模式,對JavaScript設(shè)計模式感興趣的小伙伴們可以參考一下2016-01-01
onsubmit阻止form表單提交與onclick的相關(guān)操作
return false會阻止表單提交,基本上關(guān)于onsubmit=return false有以下幾點要注意的地方,學(xué)習(xí)后臺編程的朋友一定要知道。2010-09-09
JavaScript常見函數(shù)類型和用途實現(xiàn)場景分析
在JavaScript中,除了惰性函數(shù)和防抖函數(shù)外,還有許多其他有用的函數(shù)模式和功能函數(shù),以下是一些常見的函數(shù)類型和用途,感興趣的朋友一起看看吧2024-12-12
js獲取input長度并根據(jù)頁面寬度設(shè)置其大小及居中對齊
這篇文章主要介紹了js獲取input長度并根據(jù)頁面寬度設(shè)置其大小及居中對齊的方法,需要的朋友可以參考下2014-08-08
利用Js的console對象,在控制臺打印調(diào)式信息測試Js的實現(xiàn)
下面小編就為大家?guī)硪黄肑s的console對象,在控制臺打印調(diào)式信息測試Js的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11

