首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查数组jquery中是否存在多个单词

检查数组jquery中是否存在多个单词
EN

Stack Overflow用户
提问于 2015-10-03 15:35:27
回答 3查看 2.5K关注 0票数 0

必须检查是否在文本区域中写入了一些sentance。例如“祖祖马克斯”、“祖祖马克斯”等等。

我的问题是,我不知道如何使它的功能。我尝试用这些单词创建一个数组,然后尝试用indexOf()在textarea上找到它们。我没有成功地做到这一点,尤其是如果我用小写写的话。有人有解决办法吗?谢谢

代码语言:javascript
复制
<div>Button</div>
<textarea></textarea>


var words = ['Zuzu Max capsuni', 'Zuzu max piersici', 'Zuzu Max mere si pere', 'Zuzu Max afine', 'Zuzu Max stracciatella', 'Zuzu max natur'];
var text = $('textarea').val();
$('div').on('click', function(){
    if(text.indexOf(words)){
        console.log('match');
    }
});

忘了放小提琴

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-03 15:43:12

您需要循环遍历words数组,并根据textarea字符串逐一检查它们。代码中的另一个问题是,如果找不到字符串,indexOf将返回-1,或者返回表示搜索字符串位置的number

代码语言:javascript
复制
var textarea = $('textarea');
var words = ['Zuzu Max capsuni', 'Zuzu max piersici', 'Zuzu Max mere si pere', 'Zuzu Max afine', 'Zuzu Max stracciatella', 'Zuzu max natur'];

$('div').on('click', function(){
    var text = textarea.val();

    for (var i = 0, len = words.length; i < len; i++) {
        if (text.indexOf(words[i]) > -1) {
            console.log('match', words[i]);
        }
    }
});

您可以在这里看到一个正在工作的小提琴:http://jsfiddle.net/22vuakp9/

不区分大小写:http://jsfiddle.net/22vuakp9/1/

票数 2
EN

Stack Overflow用户

发布于 2015-10-03 16:48:46

我的假设是,数组"word“包含要检查的句子。

首先,把所有的句子都用小写,或者uppercase.You可以用UnderscoreJS来做,或者你也可以自己做。

见下文:

代码语言:javascript
复制
var words = ['Zuzu Max capsuni', 'Zuzu max piersici', 'Zuzu Max mere si pere'];

//using underscoreJS . See link: http://underscorejs.org/#map
wordsLowerCase = _.map(words, function(word) {
    return word.toLowerCase();
});


var text = $('textarea').val().toLowerCase();

$('div').on('click', function() {

    wordsLowerCase.forEach(function(word) {
        if (text.indexOf(word) > -1) {
            console.log('match');
        }
    });

});

注意:有几种方法可以达到你的目标。这只是其中之一。

哪种方式是最好的?那得看情况。

我希望你觉得这有帮助。

干杯!

票数 0
EN

Stack Overflow用户

发布于 2015-10-03 15:38:21

使用lodash或类似的库来这样做:https://lodash.com/docs#includes

或者如果您对使用ES7/Babel:对象/数组/包括感到满意

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32924340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档