我有一個JavaScript數組,其中包含某些在請求創建用戶帳戶時無法使用的單詞。檢查數組中的部分匹配
我想循環所請求的帳戶,並檢查他們對字篩選器。如果它們包含任何單詞,則該值將移至「無效帳戶」數組。
// Create our arrays
var blacklist = ["admin", "webform", "spoof"];
var newAccounts = ["[email protected]", "[email protected]", "[email protected]"];
var invalidAccounts = [];
// I need to check if any of the new accounts have matches to those in the blacklist.
// [email protected] would need to be pushed into the invalidAccounts array because it
// contains the word admin. Although interweb contains the word web, it does not contain
// the full word, webform, so should be ignored.
// Loop over the blacklist array
for(var x = 0; x < blacklist.length; x++){
if(blacklist[x].indexOf(newAccounts) > -1){
alert(blacklist[x] + " is in the blacklist array");
// Push the newAccounts value into the invalidAccounts array since it contains
// a blacklist word.
} else {
alert('no matches');
}
}
我需要在上面的代碼中更改它以使它與部分字符串相匹配嗎?
小提琴的上述代碼:https://jsfiddle.net/1qwze81o/
您需要循環兩次(如現在設置)。就我個人而言,我會首先循環'newAccounts',然後檢查每個黑名單內容。看起來非常直截了當。 –
您可以根據電子郵件測試黑名單條目,而不是其他方式。而且,你的黑名單中沒有web表單,而是web表單。所以如果你過濾包含網絡的電子郵件,你必須改變它。 –