Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 文本区域中单词出现指南_Javascript_Jquery - Fatal编程技术网

Javascript 文本区域中单词出现指南

Javascript 文本区域中单词出现指南,javascript,jquery,Javascript,Jquery,我有一个文本框,一个文本框和一个按钮。我想点击按钮,将文本框中的单词与文本区域中的单词进行核对,并计算出现次数 在过去的两天里,我尝试编写了一个click函数来实现这一点,但由于不确定接下来会出现什么代码或逻辑,所以没有取得任何进展。只能阅读文本区域中的内容,但不确定如何在文本框中找到单词并在文本区域中搜索句子 请注意,我是JQuery的新手,所以不要求任何人编写代码,如果可能的话,我会提供更多的指导。如果这个问题在这里不被允许,我非常乐意删除它。谢谢您正在查找字符串实例,请查看 您可以使用ma

我有一个文本框,一个文本框和一个按钮。我想点击按钮,将文本框中的单词与文本区域中的单词进行核对,并计算出现次数

在过去的两天里,我尝试编写了一个click函数来实现这一点,但由于不确定接下来会出现什么代码或逻辑,所以没有取得任何进展。只能阅读文本区域中的内容,但不确定如何在文本框中找到单词并在文本区域中搜索句子


请注意,我是JQuery的新手,所以不要求任何人编写代码,如果可能的话,我会提供更多的指导。如果这个问题在这里不被允许,我非常乐意删除它。谢谢

您正在查找字符串实例,请查看

您可以使用match()执行此操作,如注释中所建议:

var m = searchText.match(new RegExp(wordMatch.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig"));
// m.length contains number of matches
但这也会匹配部分单词,比如“foxy”中的“fox”。因此,另一种方法是将输入拆分为单词,然后逐个遍历:

var count = 0;
var words = searchText.split(' ');
for (x in words) {
    if (words[x].toLowerCase() == wordMatch) {
        count++;
    }
}
看看这个完整的例子:


...
得到
$(“按钮”)。单击(函数(){
count=$(“textarea”).text().split($($(“输入[type=text]”)val()).length-1;
$(“div”).html(计数);
})
在处理过程中使用
string.match()
,以确保第一个字符串不是空的,并且确实存在匹配项。在jQuery中执行以下操作,因为您似乎对使用它感兴趣

var textVal = $('#textbox').val();
var textArea = $('#textarea').val();
var matching = new RegExp('\\b' + textVal + '\\b','g');             
var count = textArea.match(matching);
var result = 0;

if (count !== null) {
    result = count.length;
}

我在过去两天中尝试编写了一个单击函数来执行此操作,但由于不确定接下来是什么代码或逻辑,因此没有取得任何进展。
-显示此代码。即使它是最小的,至少我们有一个开始,并参考您的工作。即使是一个JSFIDLE,greatI也会创建一个FIDLE并根据您所在的位置更新问题,需要研究的几件事是:对于事件处理,对于获取输入值,以及在@Ian所说的正则表达式之后,看看它能帮您解决问题的方法谢谢@EduardoQuintana,你的评论真的很有帮助,为我进一步阅读指明了正确的方向。非常感谢你的评论。感谢所有评论和回复。Match是我应该了解的关键功能
var textVal = $('#textbox').val();
var textArea = $('#textarea').val();
var matching = new RegExp('\\b' + textVal + '\\b','g');             
var count = textArea.match(matching);
var result = 0;

if (count !== null) {
    result = count.length;
}