Počet znaků a slov v textu
Jak spočítat délku (počet znaků), počet slov, řádků nebo odstavců v textu.
U následujícího textu se počítají znaky, slova, řádky a odstavce. Zároveň jsou vypsána slova, co se v textu alespoň dvakrát opakují. Čím častěji se opakují, tím mají výraznější barvu. Nejčastěji používané předložky jsou ignorovány.
Jak to udělat?
Jak všechny uvedené věci zjišťovat JavaScriptem? Samostatná ukázka.
Počet znaků
Pro formulářové pole (jako je použitá <textarea>
) stačí prosté:
var delka = pole.value.length;
K úvaze je, zda obsah nejprve neočistit o prázdné znaky funkcí trim
.
Funkce trim
Ta funguje až od IE 9, ale dá se doskriptovat:
if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, '')
}
}
Nebo rovnou použít zmíněný regulární výraz /^\s+|\s+$/g
.
Počet slov
Kolik slov text obsahuje, se dá zjistit počítáním konců slov (v regulárních výrazech \b
).
var slov = pole.value.match(/\b/g).length/2;
Počet řádků
Pro spočítání řádku stačí zjistit počet výskutů \n
v celém textu:
var radku = pole.value.split("\n").length;
Počet odstavců
Pro zjišťování, kolik odstavců text tvoří, je nutné vybrat, co odstavec bude.
- Nový odstavec tvoří 2 a více odřádkování:
var odstavcu = pole.value.split(/\n{2,}/).length;
- Nový řádek = nový odstavec:
var odstavcu = pole.value.split(/\n+/).length;
Komentáře