摘要:在注冊(cè)用戶的環(huán)節(jié),如果前端沒有填寫用戶名,后端就給他隨機(jī)生成一個(gè)。接口是返回成功了??纯磾?shù)據(jù)庫,也沒問題,可以看到是隨機(jī)生成的。
這幾天忙著搭一個(gè)社區(qū),前端主要vue+antd,后端使用express+MongoDB。 在注冊(cè)用戶的環(huán)節(jié),如果前端沒有填寫用戶名,后端就給他隨機(jī)生成一個(gè)。
主要方法函數(shù): randomUser.js
// 第一個(gè)參數(shù)為你想生成的固定的文字開頭比如: 微信用戶xxxxx
// 第二個(gè)為你想生成出固定開頭文字外的隨機(jī)長(zhǎng)度
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è)簡(jiǎn)單的說明。
調(diào)下接口看看:手機(jī)號(hào)隨便填的,至于是哪位大冤種的,就不得而知了。
嗯。接口是返回成功了。
看看數(shù)據(jù)庫,也沒問題,可以看到username是隨機(jī)生成的。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/125797.html
摘要:準(zhǔn)備面試,多看點(diǎn)題。來自雨夜帶刀需求描述從一組有序的數(shù)據(jù)中生成一組隨機(jī)并且不重復(fù)的數(shù),類似于簡(jiǎn)單的抽獎(jiǎng)程序的實(shí)現(xiàn)。 (準(zhǔn)備面試,多看點(diǎn)題。來自雨夜帶刀s Blog) 需求描述:從一組有序的數(shù)據(jù)中生成一組隨機(jī)并且不重復(fù)的數(shù),類似于簡(jiǎn)單的抽獎(jiǎng)程序的實(shí)現(xiàn)。 先來生成一個(gè)有序的數(shù)組: var arr = [], length = 100, i = 0; for( ; i < length;...
摘要:另外,這幾篇幾個(gè)不錯(cuò)的隨機(jī)生成隨機(jī)數(shù)采用對(duì)獲取的浮點(diǎn)數(shù)進(jìn)行取整操作,也是同樣的問題,能取到左端點(diǎn),卻無法取到右端點(diǎn)。 最近在琢磨內(nèi)置對(duì)象Math的時(shí)候,參考了很多網(wǎng)上資料,不過我在Google中搜索js 隨機(jī)整數(shù),出來很多博客文章,很遺憾,在我看來排名靠前的這些文章都是錯(cuò)誤的。接下來我將會(huì)論證我這一觀點(diǎn),同時(shí)把我所理解的Math.random()方法跟你分享。showImg(https...
摘要:在這里用簡(jiǎn)單的代碼就生成了一張隨機(jī)的城市地圖。產(chǎn)生一個(gè)新元素時(shí),會(huì)被同時(shí)放入兩個(gè)數(shù)組,當(dāng)元素死亡后,將其從中移除。以上檢查交點(diǎn)的過程發(fā)生在函數(shù)中。 zz85在這里用簡(jiǎn)單的代碼就生成了一張隨機(jī)的城市地圖。生成地圖與畫一棵隨機(jī)的樹十分相似,都是先給出初始的元素,每個(gè)元素在滿足條件時(shí)會(huì)生成新的子代,最后由所有的元素共同組成了我們想要的地圖或樹。 程序中創(chuàng)建的幾個(gè)對(duì)象 地圖中的每一條道路對(duì)應(yīng)程...
摘要:?jiǎn)误w內(nèi)置對(duì)象單體內(nèi)置對(duì)象就是開發(fā)人員不必顯式地實(shí)例化內(nèi)置對(duì)象,因?yàn)樗麄円呀?jīng)實(shí)例化了。前面的章節(jié)討論過了大多數(shù)內(nèi)置對(duì)象,還定義了兩個(gè)單體內(nèi)置對(duì)象和。 單體內(nèi)置對(duì)象 單體內(nèi)置對(duì)象就是開發(fā)人員不必顯式地實(shí)例化內(nèi)置對(duì)象,因?yàn)樗麄円呀?jīng)實(shí)例化了。前面的章節(jié)討論過了大多數(shù)內(nèi)置對(duì)象,ECMA-262 還定義了兩個(gè)單體內(nèi)置對(duì)象:Global 和Math。 Global 對(duì)象 所有在全局作用域中定義的屬性...
摘要:安全問題的分類按照所發(fā)生的區(qū)域分類后端安全問題所有發(fā)生在后端服務(wù)器應(yīng)用服務(wù)當(dāng)中的安全問題前端安全問題所有發(fā)生在瀏覽器單頁面應(yīng)用頁面當(dāng)中的安全問題按照?qǐng)F(tuán)隊(duì)中哪個(gè)角色最適合來修復(fù)安全問題分類后端安全問題針對(duì)這個(gè)安全問題,后端最適合來修復(fù)前端安全 安全問題的分類 按照所發(fā)生的區(qū)域分類 后端安全問題:所有發(fā)生在后端服務(wù)器、應(yīng)用、服務(wù)當(dāng)中的安全問題 前端安全問題:所有發(fā)生在瀏覽器、單頁面應(yīng)用、...
閱讀 1103·2022-06-21 15:13
閱讀 1921·2021-10-20 13:48
閱讀 1096·2021-09-22 15:47
閱讀 1423·2019-08-30 15:55
閱讀 3184·2019-08-30 15:53
閱讀 575·2019-08-29 12:33
閱讀 776·2019-08-28 18:15
閱讀 3536·2019-08-26 13:58