O webu
Jak zjistit počet znaků a slov

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.

  1. Nový odstavec tvoří 2 a více odřádkování:
    var odstavcu = pole.value.split(/\n{2,}/).length;
  2. Nový řádek = nový odstavec:
    var odstavcu = pole.value.split(/\n+/).length;

Odkazy jinam