簡體   English   中英

檢查字符串是否包含來自單詞數組(jquery,javascript)的整個單詞

[英]Check if the string contains an entire word from an array of words (jquery, javascript)

我正在將單詞過濾器導入文本輸入,我想檢查單詞數組中的整個壞單詞和字符串中的單詞之間是否匹配,我將舉一個例子這個...

壞話列表:

var bad_words = ['bad1', 'bad2', 'bad3'];

帶有文本輸入值的字符串:

var check_text = document.getElementById("text").value;

假設我的字符串中有這個詞(在這個例子中,我期望一個錯誤的答案):

Here is bad2222

假設我的字符串中有這個詞(在這個例子中,我期待一個真實的答案):

Here is bad2

對代碼稍作修正后,

這是為我解決了這個問題的代碼。謝謝 ritaj

<script type="text/javascript">

    function check_val() {
        var bad_words = ['bad1', 'bad2', 'bad3'];
        var check_text = document.getElementById("text").value;
        var error = 0;

        if (check_text.split(' ').some(part => bad_words.includes(part))) {
            error = error + 1;
        }

        if (error > 0) {
            document.getElementById("bad_notice").innerHTML = "WARNING: Some Bad Words In Your Text";
        }
        else {
            document.getElementById("bad_notice").innerHTML = "";
        }
    }

</script>

<div id="wrapper">
    <textarea id="text" onKeyUp="check_val()" placeholder="Write Some Text Having Words 'bad1', 'bad2', 'bad3'"></textarea>
    <p id="bad_notice"></p>
</div>

您可以使用反向技術來檢查它。

 var bad_words = ['bad1', 'bad2', 'bad3']; const check_text = 'Here is bad222'; const found = bad_words.find(word => check_text.split(' ').find(s=>s===word)); if(found){ console.log("True") }else{ console.log("False") }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM