I am new to coding, so I would like to know how I can count words of an website with javascript. Should I use .innerText
and a for
loop?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Split on regular expression /\W+/
(\W
matches anything that is not a latin letter or arabic number or an underscore) :
var text = "These are two sentences. They have ten words in total.";
alert(text.split(/\W+/).length)
More details on regexp can by found on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
回答2:
This is how I would count the number of words as you type:
$(document).ready(function(){
$("#count").on("keyup", function(){
$("#num").html($("#count").html().split(" ").length-1);
});
});
JSFiddle code here
回答3:
This will do the trick for you if the language on the site uses spaces to separate words.
$.fn.showWordCount = function (){
"use strict";
var $targ = $(this);
var words = $targ.html().split(' ');
var wordCount = words.length;
alert(wordCount);
};
$('body *').showWordCount();
Proof it works: http://codepen.io/nicholasabrams/pen/rVJPOx
回答4:
May be it can help you:
<script>
var words = document.getElementsByTagName('body')[0].innerHTML.replace(/<.*?>/g, '');
console.log(words.match(/\S+/g).length);
</script>