javascript - 如何使用 jQuery 根据数组中的单词检查文本字段值?

标签 javascript jquery arrays

我的数组有字符串值:

var bannedWords = ["cat","dog","test"]

我的文本输入字段检查该值是否包含数组中的单词:

var title = $j('#edit-content').val()
if ($j.inArray(title, bannedWords) != -1) { alert("it's inside the array") }

当值为“cat”时,它按预期工作。当值为“the cat is black”时,我想要警报,因为“cat”在输入值内。

我明白为什么它不起作用,但我不知道我该怎么做? 在值中有某种循环?

提前致谢!

最佳答案

你可以构建一个 regular expression从你的数组中取出并用它来测试输入:

// The 'i' flag matches values regardless of case.
var regex = new RegExp('\\b' + bannedWords.join("\\b|\\b") + '\\b', 'i');

// Regex would equal /\bcat\b|\bdog\b|\btest\b/i
var valid = !regex.test($("#edit-content").val());

示例: http://jsfiddle.net/aZbWP/1

关于javascript - 如何使用 jQuery 根据数组中的单词检查文本字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14242722/

相关文章:

javascript - 在 Swift 中使用 UIWebView.stringByEvaluatingJavaScriptFromString 删除 html 中带有 <noscript> 标签的所有元素

C++查找二维数组中两点之间的距离

sql - Hive 相对于同一表中的其他数组列对数组列进行排序

javascript - Leaflet:隐藏/显示动态插入 map 中的标记

javascript - $(document).on ("click") 不起作用,但 $ ('selector' ).on ("click") 起作用,为什么?

c - 使用指针函数的程序方差和标准差

javascript - 非规范化 Firebase 数据以进行标签搜索

javascript - 加入 JS 字符串数组和 JSX 元素

javascript - 将对象数组中的特定值转换为小写

jquery - 特定于案例的 Bootstrap 日期选择器配置