Javascript 如何使用jquery验证根据坏词列表测试文本?
我试图根据单词列表验证textarea/输入。 我创造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);
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)时。他们按照我想要的方式工作。