如何快速计算网页上字符串的出现次数?

时间:2014-10-10 17:26:42

标签: javascript jquery regex

给定一个本地URL,如何使用JavaScript和/或jQuery快速计算页面上abc字符串的次数?

示例:

对于给定的网址:American Broadcasting Company (ABC) [Wikipedia],此页面上ABC(不区分大小写)的次数是多少次?

答案:

  • 795(计算HTML标签)
  • 455(仅计算可见文字)

javascript和/或jQuery会产生类似的结果吗?

2 个答案:

答案 0 :(得分:3)

您应该可以在页面上的conole或javascript中执行此操作:

$("*").html().match(/abc/gi).length

这将为您提供页面上的文本节点*:

var count = 0;
$("body").contents().filter(function () { return this.nodeType == 3 }).each(function () { var match = this.wholeText.match(/abc/gi); if (match) count += match.length; });
  • 我看到的唯一问题是标签之间的javascript代码显示为文本节点,因此如果您的标记中包含脚本标记,这也会搜索javascript。

答案 1 :(得分:1)

请尝试以下步骤:

1)为您提供页面上的全文。

var temp = $('body').text();

2)正则表达式中的g表示搜索整个字符串而不是仅查找第一个字符串

var count = temp.match(/abc/g);
alert(count);
alert(count.length);

此处示例:

http://jsfiddle.net/csdtesting/a0fkqej0/

希望它有所帮助!