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

主要方法函數(shù)
randomUser.js
// 第一個(gè)參數(shù)為你想生成的固定的文字開頭比如: 微信用戶xxxxx
// 第二個(gè)為你想生成出固定開頭文字外的隨機(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ī)抽出一個(gè)
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

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

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

嗯。接口是返回成功了。

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

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

