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

主要方法函數(shù)
randomUser.js
// 第一個參數(shù)為你想生成的固定的文字開頭比如: 微信用戶xxxxx
// 第二個為你想生成出固定開頭文字外的隨機長度
function random(prefix, randomLength) {
// 兼容更低版本的默認值寫法
prefix === undefined ? prefix = "" : prefix;
randomLength === undefined ? randomLength = 8 : randomLength;
// 設(shè)置隨機用戶名
// 用戶名隨機詞典數(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"]
]
// 隨機名字字符串
let name = prefix;
// 循環(huán)遍歷從用戶詞典中隨機抽出一個
for (var i = 0; i < randomLength; i++) {
// 隨機生成index
let index = Math.floor(Math.random() * 2);
let zm = nameArr[index][Math.floor(Math.random() * nameArr[index].length)];
// 如果隨機出的是英文字母
if (index === 1) {
// 則百分之50的概率變?yōu)榇髮?
if (Math.floor(Math.random() * 2) === 1) {
zm = zm.toUpperCase();
}
}
// 拼接進名字變量中
name += zm;
}
// 將隨機生成的名字返回
return name;
}
module.exports = random

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

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

嗯。接口是返回成功了。

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

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript實現(xiàn)數(shù)組最大值和最小值的6種方法
比較數(shù)組中數(shù)值的大小是比較常見的操作,本文主要介紹了javascript實現(xiàn)數(shù)組最大值和最小值的6種方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
javascript事件函數(shù)中獲得事件源的兩種不錯方法
許多情況我們需要獲得事件源對象來對其屬性進行更改,在事件響應(yīng)函數(shù)中獲得事件源的方法有如下兩種2014-03-03
JavaScript判斷數(shù)組是否存在key的簡單實例
下面小編就為大家?guī)硪黄狫avaScript判斷數(shù)組是否存在key的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
JavaScript實現(xiàn)加載導(dǎo)出CZML文件詳解
CZML是一種基于?JSON?的文件格式,用于描述地理空間數(shù)據(jù)和時間動態(tài)場景,這篇文章為大家詳細介紹了如何使用JavaScript實現(xiàn)CZML文件的加載與導(dǎo)出,需要的可以了解下2025-02-02

