我在一個新網站上作業了大約 5 個月,我一直在測驗很多功能。
問題是幾乎每個新用戶都為他們的用戶名選擇了一個不合適的名稱。
我的問題是:如何在我的網站上實作“beta 測驗”功能,而不是使用壞名詞表來解決這個問題。
uj5u.com熱心網友回復:
Beta 測驗系統類似于登錄系統,您可以在其中批準想要加入的人員。這在 StackOverflow 的答案中無法輕易回答——一方面,我們必須知道你希望使用哪種服務器端語言(Python-Flask、Nodejs-Javascript、React、Angular、Svelte、PHP——你必須選擇其中之一)來實作這一點。但是,YouTube 上有許多視頻教程涵蓋了這一點。這是 Python-Flask 的一個。然而,實施起來并不是一件簡單的事情。
即使在您的 Beta 測驗系統中,您也需要一些東西來測驗用戶名——您可能不想要包含星號、空格或高 ASCII 碼等的用戶名,那么為什么不繼續這個程序呢?
這是多么簡單。
至少,您將需要一個包含用于測驗每個新用戶名的淘氣詞陣列(在 Python 術語中為“串列”)。
這個串列不需要你自己編,其他人已經編好了類似的串列,搜索即可。但是,可能很難找到適合您需求的完美選擇,因此您可能需要編輯您找到的內容 - 但至少它為您提供了一個起點。
然后,當有人創建用戶名時,您需要根據您的頑皮詞串列測驗他們的用戶名。就像是:
顯示代碼片段
const btnGo = document.getElementById('go');
const un = document.getElementById('username');
const msgOk = document.getElementById('msgOk');
const msgNope = document.getElementById('msgNope');
const nlist = ['darn', 'crap', 'jerk'];
btnGo.addEventListener('click', () => {
un.classList.remove('error');
msgNope.style.display = 'none';
msgOk.style.display = 'grid';
nlist.forEach((bw) => {
if (un.value.includes(bw)){
un.classList.add('error');
msgNope.style.display = 'grid'
msgOk.style.display = 'none'
}
});
});
.error{
background: pink;
}
#msgNope{
display: none;
width: 300px;
height: 50px;
margin-top:10px;
place-content: center;
background:wheat;
}
#msgOk{
display: none;
width: 300px;
height: 50px;
margin-top:10px;
place-content: center;
background:lightblue;
}
Username: <input id="username" placeholder="Do not use jerk in username"/>
<button id="go">Submit</button>
<div id="msgNope">Cannot use that username - please be clean</div>
<div id="msgOk">That username is fine, welcome!</div>
如果您對使用頑皮串列的主要反對是將這些詞顯示在您的 javascript 代碼中,那么您可以將該作業卸載到服務器 - 這些詞可以在那里存盤/檢查 - 并且沒有人可以看到該代碼。使用此解決方案,您將在頁面上使用 AJAX 將用戶名發送到服務器并接收通過/失敗回應。同樣,有很多很多可用的視頻教程可以讓您快速了解如何將 AJAX 與服務器端代碼結合使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/371541.html
