В сегодняшней статье мы поговорим о подсчете количества символов в строке, текстовом поле, или textarea, и сделаем форму для подсчета символов.
В последнее время набирает обороты услуги написания текстов для сайта. Многие люди в поисках удаленной работы начинают заниматься копирайтингом. Форма для подсчета количества символов в копирайтинге немножко отличается от обычного подсчета, т.к. пробелы и другие невидимые знаки в ней не учитываются, и стоимость написания текста считается за 1000 символов. Поэтому будем делать подсчет количества символов с расчетом стоимости написания статьи, и с возможностью просчета без пробелов.
Начнем с малого, в JavaScript для подсчета количества символов в строке, используется свойство length. Вот небольшой примерчик:
<script type="text/javascript"> var string = "Компания OX2.ru занимается созданием сайтов и интернет магазинов"; alert(string.length); </script>
В этом примере на экран выведется сообщение, с количеством символов в строке (строка хранится в переменной string).
Теперь усложним алгоритм, и сделаем форму с подсчетом стоимости:
<html> <head> <title>Количество символов JavaScript | Дизайн студия OX2</title> </head> <body> <script type="text/javascript"> /** * Подсчет количества символов и стоимость написание текста в JavaScript * @author ox2.ru дизайн студия **/ var price = 400; //Цена за 1000 символов function countChar() { //Записываем ссылки на элементы в переменные var is_probel = document.getElementById("is_probel"); var count_char = document.getElementById("count_char"); var count_char_textarea = document.getElementById("count_char_textarea"); var price_out = document.getElementById("price_out"); //Если не стоит галочка на "Учитывать пробелы" if (is_probel.checked == false) { //Записываем количество символов textarea (без пробелов) в текстовое поле //replace(/ *n*r*t*/g, "").length - означает, что вначале обрезаем все //пробелы и невидимые знаки, а потом считаем кол-во символов count_char.value = count_char_textarea.value.replace(/ *n*r*t*/g, "").length; } else { //Если стоит галочка на "Учитывать пробелы" //Записываем количество символов textarea в текстовое поле count_char.value = count_char_textarea.value.length; } //Считаем price_out.innerHTML = (parseInt(count_char.value) / 1000) * price; } </script> <div id="count_char_block"> <textarea id="count_char_textarea" style="width: 600px;height: 300px;" onchange="countChar()" onkeyup="countChar()" ></textarea><br/> <input type="text" id="count_char" value="0" readonly="readonly" /> <input type="checkbox" id="is_probel" onchange="countChar()" /> <label for="is_probel">Учитывать пробелы</label> <div>Стоимость написания текста составит: <span id="price_out">0</span> руб.</div> </div> </body> </html>
Код примера достаточно простой, но с его помощью очень сильно ускорится и оптимизируется работа копирайтера.
Комментарии
Заполните все поля
Написать комментарий