如何在脚本中识别正则表达式是否为空

How to identify if a a regular expression is null or not inside a script?

本文关键字:正则表达式 是否 识别 脚本      更新时间:2023-09-26

我正在跟踪坏词,如果它存在于评论中,当用户在当前输入时,它被替换为***。但是我想识别它在输入时是否替换。如果是,则显示div标记。我已经完成了跟踪部分,也显示div标签,但我无法理解如何识别它是否取代了单词。请帮我修改一下代码

       <script>
        function fbws(text){
        var getWord = document.getElementById(text);
        var regex1 = /(dam|hell)/;
        var clean1 = getWord.value.replace(regex1, "****");

        getWord.value = clean1;
        if(//the condition I want to know){
//ifi it is a bad word then show div tag
     $("#wordTraker").slideToggle(300);
    }

        }
        </script>

如果初始字符串不等于modified,则其中有一个坏字:

var clean1 = getWord.value.replace(regex1, "****");
if (clean1 !== getWord.value) {
    getWord.value = clean1;
    //ifi it is a bad word then show div tag
    $("#wordTraker").slideToggle(300);
}

在将getWord.value的值更改为clean之前,您可以检查两者是否相同,如果它们相同则没有坏词

或者您可以使用match()来检查是否有不良词语。如果返回null,则没有单词。但是,如果你不需要被替换的单词,那么它就不是很有用了。

正如评论中提到的,你的正则表达式可能会给出不正确的结果,你也应该检查单词边界。这样会更好,

/'W+(damn/Hell)'W+/gi