-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflesch.html
More file actions
64 lines (56 loc) · 2.46 KB
/
flesch.html
File metadata and controls
64 lines (56 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!DOCTYPE html>
<html>
<head>
<title>WebApp Índice de Legibilidade Flesch</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<h1>WebApp Índice de Legibilidade Flesch</h1>
<textarea id="inputTextarea" placeholder="Cole o texto aqui"></textarea>
<button id="calculateBtn">Calcular</button>
<table>
<tr>
<th>Número de Palavras</th>
<th>Número de Frases</th>
<th>Número de Sílabas</th>
<th>Índice de Legibilidade Flesch</th>
</tr>
<tr>
<td id="numPalavras"></td>
<td id="numFrases"></td>
<td id="numSilabas"></td>
<td id="fleschIndex"></td>
</tr>
</table>
</div>
<script>
// Função para calcular o Índice de Legibilidade Flesch
function calcularFlesch(texto) {
// Remover pontuações e quebras de linha para contar corretamente as palavras e frases
const cleanText = texto.replace(/[\.,?!;:'"()\n]/g, '');
// Contar o número de palavras
const palavras = cleanText.trim().split(/\s+/).length;
// Contar o número de frases
const frases = cleanText.split(/[.!?]/g).filter(Boolean).length;
// Contar o número de sílabas (uma aproximação simples)
const silabas = cleanText.split(/[aeiouyáàâãéèêíìîóòôõúùû]/i).length - 1;
// Calcular o Índice de Legibilidade Flesch
const flesch = 206.835 - 1.015 * (palavras / frases) - 84.6 * (silabas / palavras);
return { palavras, frases, silabas, flesch }; // Retornar um objeto com os valores calculados
}
// Evento ao clicar no botão "Calcular"
document.getElementById('calculateBtn').addEventListener('click', () => {
const inputText = document.getElementById('inputTextarea').value;
const { palavras, frases, silabas, flesch } = calcularFlesch(inputText);
document.getElementById('numPalavras').textContent = palavras;
document.getElementById('numFrases').textContent = frases;
document.getElementById('numSilabas').textContent = silabas;
document.getElementById('fleschIndex').textContent = isNaN(flesch) ? 'N/A' : flesch.toFixed(2);
// Exibir o resultado na página HTML
const resultadoElement = document.getElementById('resultado');
resultadoElement.textContent = isNaN(flesch) ? 'N/A' : `O Índice de Legibilidade Flesch é: ${flesch.toFixed(2)}`;
});
</script>
</body>
</html>