Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery验证根据坏词列表测试文本?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery验证根据坏词列表测试文本?

Javascript 如何使用jquery验证根据坏词列表测试文本?,javascript,jquery,Javascript,Jquery,我试图根据单词列表验证textarea/输入。 我创造 var badwordlist = new Array("blue", "Blue", "BLUE", "ASS", "drugs", "aciphex", "nude"); jQuery.validator.addMethod("badWord", function(value) { return !new RegExp(badwordlist.join('|')).test(value);

我试图根据单词列表验证textarea/输入。 我创造

var badwordlist = new Array("blue", "Blue", "BLUE",
"ASS", "drugs", "aciphex", "nude");
        jQuery.validator.addMethod("badWord", function(value) {
            return !new RegExp(badwordlist.join('|')).test(value);
        }, "Please remove bad words.");

这很好用。我有问题,如果我键入绿色蓝色,它仍然会给我错误。而我只想选择蓝色而不是绿色。ass和课堂或评估一样

为什么不试试另一种方法呢

var badwordlist = new Array("blue", "ass", "drugs", "aciphex", "nude");

alert((new RegExp("blue", "i")).test("[" + badwordlist.join("][") + "]"));
alert((new RegExp("greenblue", "i")).test("[" + badwordlist.join("][") + "]"));
alert((new RegExp("ass", "i")).test("[" + badwordlist.join("][") + "]"));
alert((new RegExp("class", "i")).test("[" + badwordlist.join("][") + "]"));

这段代码对我有用

var blacklist = /\b(word|word|word|word|word|word|word|word|word|word|word|word)\b/; /* many more banned words... */

jQuery.validator.addMethod("badwordcheck", function(value) {
    return !blacklist.test(value.toLowerCase());
}, "Please remove inappropriate language before submitting.");

“蓝色”是一个“坏词”吗?我想它是一个占位符。我只是在测试不同的咒骂词。我不想在这里用这些词。Blue只是我使用jquery验证api的一个例子。我创建了自定义验证方法。我如何使用您建议的代码来测试它是否在我的方法中工作?我不确定,因为我不确定jQuery的验证API是如何工作的。但是看起来你只需要使用我提供的正则表达式。谢谢你的回答。RegExp查找一个模式。当我删除RegExp并使用.test(my_textarea.value)时。他们按照我想要的方式工作。