首先,我不擅长 javascript 或 jquery,所以我想先在互联网上搜索,就像我总是为我不知道的事情做的那样。但是我找不到有关我的问题的任何信息,所以我想在这里寻求帮助,希望您能帮助我。
当我开始问这个问题时,这个网站告诉我分享我的研究,但我没有什么可以分享的。
我的问题是:“如何使用 javascript 或 jquery 找出一个特定单词在一个文本区域中写入了多少次?”
我不确定这是否可以用 javascript 或 jquery 来完成,这就是我写这两个的原因。
谢谢
首先,我不擅长 javascript 或 jquery,所以我想先在互联网上搜索,就像我总是为我不知道的事情做的那样。但是我找不到有关我的问题的任何信息,所以我想在这里寻求帮助,希望您能帮助我。
当我开始问这个问题时,这个网站告诉我分享我的研究,但我没有什么可以分享的。
我的问题是:“如何使用 javascript 或 jquery 找出一个特定单词在一个文本区域中写入了多少次?”
我不确定这是否可以用 javascript 或 jquery 来完成,这就是我写这两个的原因。
谢谢
一个简单的概念验证:
$('#test').keyup(function(e){
var v = $(this).val(), // the current value of the textarea,
w = v.split(/\s/), // the individual words
needle = 'img', // what you're looking for
c = 0; // the count of that particular word
for (var i=0,len=w.length;i<len;i++){
// iterating over every word
if (w[i] === needle){
// if a given word is equal to the word you're looking for
// increase the count variable by 1
c++;
}
}
// set the text of the 'output' element to be the count of occurrences
$('#output').text(c);
});
参考:
尝试
var regex = new RegExp('\\b' + word + '\\b', 'gi');
var count = string.match(regex).length
您可以使用.match()匹配字符串中的正则表达式。
var str = "This my wordy string of words";
console.log(str.match(/word/g).length); // Prints 2 as it's matched wordy and words
console.log(str.match(/word\b/g).length); // Prints 0 as it has NOT matched wordy and words due to the word boundary
这些也是区分大小写的。您可能想研究RegExp 的其他选项。