Счетчик слов и символов с использованием HTML CSS и JavaScript
Опубликовано: 28 Декабря, 2022
В этой статье мы увидим веб-приложения Word и Character Counter, использующие HTML , CSS и JavaScript.
В этом текстовом поле пользователь может написать все, что захочет, и это приложение показывает, сколько слов добавлено пользователем и сколько символов добавлено в текстовую область.
Подход:
- Создайте один контейнер, в котором присутствуют все элементы.
- Добавьте 1 поле Textarea, в котором пользователь пишет тексты.
- Добавьте логику JavaScript, которая подсчитывает слово и символ в текстовом поле и печатает результат в одном элементе p.
- В элементе абзаца мы предоставляем 2 элемента span для счетчиков слов и еще один для счетчиков символов.
Пример: этот пример иллюстрирует базовый счетчик слов и символов с использованием HTML, CSS и JavaScript.
HTML-файл:
- Создайте один класс -контейнер , в котором присутствуют все элементы, добавив одну текстовую область для записи пользователя.
- Мы предоставляем 2 интервала: один для счетчиков слов, а другой для счетчиков символов.
HTML
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Word and Character Counter</title> </head><body> <div class="container"> <div class="heading"> <h1 style="color:green">GeeksforGeeks</h1> <h3><b>Word and Character count<b></h3> </div> <textarea id="area" placeholder="Enter your Text Here"> </textarea> <p class="result"> <span id="word">0</span> Words and <span id="char">0</span> Characters </p> </div></body></html> |
CSS-файл:
- Удалите поля и отступы по умолчанию из тела.
- Установите display flex в контейнере и выровняйте все элементы по центру по свойствам flex.
- Остальные элементы разработаны в соответствии с потребностями разработчика.
CSS
* { margin: 0; padding: 0; font-family: Verdana, Geneva, Tahoma, sans-serif;} .container { width: 100%; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center;} .container h1 { font-size: 25px;}.container h3 { font-size: 20px;} .heading { border: 2px solid green; padding: 5px; font-weight: 700; text-align: center; width: 400px;} #area { height: 200px; width: 400px; resize: none; font-size: 15px; font-weight: 700; padding: 5px; margin-top: 15px; color: green; outline: none; border: 2px solid green;} #area:focus { border: 2px solid green; outline: none;} .result { color: green; font-size: 20px; width: 401px; text-align: center; font-weight: 700; padding: 5px; border: 2px solid green; margin-top: 10px;} #word,#char { font-size: 25px; font-weight: bold; text-decoration: underline;} |
Файл JavaScript:
- Мы получаем символ и слово методом document.getElementById().
- Мы добавляем событие на ввод и берем длину всего входного контента в JavaScript, а размер этого контента будет в символах.
- Используйте функции trimand split для подсчета слов и, наконец, используйте метод filter, который удаляет пустые пробелы между словами.
Javascript
let area = document.getElementById("area");let char = document.getElementById("char");let word = document.getElementById("word"); area.addEventListener("input", function () { // count characters let content = this.value; char.textContent = content.length; // remove empty spaces from start and end content.trim(); console.log(content); let wordList = content.split(/s/); // Remove spaces from between words let words = wordList.filter(function (element) { return element != ""; }); // count words word.textContent = words.length;}); |
Окончательный код: Ниже приведена комбинация всего вышеперечисленного.
Выход: