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