我正在尝试使用match()来解析某些文本并返回文本显示的次数。我这样做是通过使用全局匹配,然后在从匹配创建的数组上调用length来实现的。相反,我只是得到一个包含单个元素的数组。

$('button').click(function () {
    checkword = "/" + specialWord + "/g";
    finalAnswer = userText.match(specialWord);
    console.log(finalAnswer);
    $('#answer').html(finalAnswer + '<br>' + finalAnswer.length);
    return finalAnswer;
});


例如,我在“ this is”中搜索“ is”应返回长度为2的数组,对吗?

小提琴:http://jsfiddle.net/

最佳答案

使用RegExp构造函数执行此操作,而您需要将.match(specialWord)更改为checkword

checkword = new RegExp(specialWord, "g");
finalAnswer = userText.match(checkword);

10-08 00:35