2016-01-30 29 views
1

我打算將這個不良詞語列表(https://github.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/blob/master/en)放到我的網絡服務器上的.txt文件中。我怎麼能這個javascript檢查變量「userNickName」對我的Web服務器上名爲「blacklist.txt」.txt文件。在html中輸入錯誤的詞過濾器?

(這是我想要的壞字檢查執行的代碼,我該怎麼做?)

if (wsIsOpen() && null != userNickName) { 
    var msg = prepareData(1 + 2 * userNickName.length); 
    msg.setUint8(0, 0); 
    for (var i = 0; i < userNickName.length; ++i) msg.setUint16(1 + 2 * i, userNickName.charCodeAt(i), true); 
    wsSend(msg) 

回答

1

做一個JS數組一樣badWords = ["boob","boobs","..."];

這可能是與Get file contents in java scriptHow do I split a string, breaking at a particular character?完成

或直接在服務器端使用PHP。

$badWords = file_get_contents('https://raw.githubusercontent.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/en'); 

$badWords = explode("\n", $badWords); 
echo 'badWords = ["'.implode('","', $badWords).'"];'; 

之後,How to find if an array contains a specific string in JavaScript/jQuery?(對於第2個答案一個不JQuery的一個)

+0

比方說,某人的名字他們自我「| BADWORD |」,如果我用你給的鏈接將它仍然可以工作我? –

+0

@AndrewTran不,它不是一個積極的過濾器。你可以做到這一點,但與「山雀」或「屁股」你也會匹配白色字:「假設」或「TITo」/「TITanic」這可能會太過... ...;一個想法可能會刪除暱稱中的字母之外的其他任何東西,然後再檢查這些壞道名單:http://stackoverflow.com/questions/9364400/remove-not-alphanumeric-characters-from-string-having-trouble-with-the -char – Blag

+0

好的謝謝;我的最終解決方案是循環數組,檢查暱稱是否包含空格,如果是,我會做badWords [i] +「」,否則我只會使用badWords [i]並執行類似if(userNickname.toLowerCase() .indexOf(badWords [i])<0 –