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

时间:2015-10-24 19:26:01

标签: javascript php jquery regex

我正在跟踪坏词,如果当前输入的用户正在替换为***,它是否存在于评论中。但是我想在打字时确定它是否替换。如果是,则显示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>

2 个答案:

答案 0 :(得分:1)

如果初始字符串不等于修改,那么在一个字符串中有一个错字:

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);
}

答案 1 :(得分:0)

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

或者您可以使用match()检查是否有任何不良词。如果它返回null则没有单词。但是,如果您不需要替换的单词,那么它将不会非常有用。

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

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