Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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 - Fatal编程技术网

使用javascript检测单词是否不可用。。。?

使用javascript检测单词是否不可用。。。?,javascript,Javascript,我一直在使用javascript从RSS提要中删除或替换某些单词,代码如下: document.body.innerHTML = document.body.innerHTML.replace( /Words to be removed/g, "Words to be replaced"); 我想知道是否有一种方法可以检测某个单词,并在它不存在时显示消息?与您使用的方法类似,您可以使用匹配方法 var matches = document.body.innerHTML.match(/Word

我一直在使用javascript从RSS提要中删除或替换某些单词,代码如下:

document.body.innerHTML = document.body.innerHTML.replace( /Words to be removed/g, "Words to be replaced");

我想知道是否有一种方法可以检测某个单词,并在它不存在时显示消息?

与您使用的方法类似,您可以使用
匹配方法

var matches = document.body.innerHTML.match(/Word to detect/g);
如果有任何匹配项,您将得到一个匹配的值数组

if(matches.length > 0)
   alert("Found!");

类似的方法应该适合您。

如果您的正则表达式匹配多个单词,我认为这里的一种可能性是使用函数替换
.replace()
的第二个参数。然后,您可以根据被替换的单词实现一些计数

replacedCounts = {};
"bunch of words".replace(/(bunch|of|words)/, function(replaced) {

  var prevCount = replacedCounts[replaced];
  if (!prevCount) { prevCount = 0; }
  replacedCounts[replaced] = prevCount + 1;
  return "replacement string";

}); // result should be: "replacement string replacement string replacement string "
// you can now consult replacedCounts['bunch'], etc, to see how many of each were replaced.

根据您的确切用法,Praveen的答案可能更有用。

什么意思是不存在?字典里没有?或者没有出现在提要的HTML中?就像它没有出现在提要的HTML中一样。对不起,我应该再清楚一点。谢谢!这就是我要找的东西。但是由于某种原因,如果我的单词显示或不显示,我会收到警告……您可以发布一个JSFIDLE,其中包含一些您正在搜索的内容和RSS提要的示例吗?