В сегодняшней статье мы поговорим о подсчете количества символов в строке, текстовом поле, или 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>
Код примера достаточно простой, но с его помощью очень сильно ускорится и оптимизируется работа копирайтера.





 Уроки по PHP
Уроки по PHP JavaScript
JavaScript Уроки по HTML
Уроки по HTML Дизайнерам
Дизайнерам СЕОшникам
СЕОшникам Разное
Разное 
          
                

Комментарии
Заполните все поля
Написать комментарий