Наше прошлое 20072009201120132014
г. Москва, ул. Гостиничная, д. 7А. кор.2
8 (499) 404-26-56
пн-пт 11:00 - 19:00
 

Подсчет количества символов на JavaScript

Демо пример

Стоимость написания текста : 0 руб.

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

Код примера достаточно простой, но с его помощью очень сильно ускорится и оптимизируется работа копирайтера.

Скачать исходник

В последнее время набирает обороты услуги написания текстов для сайта. Многие люди в поисках удаленной работы начинают заниматься копирайтингом. Форма для подсчета количества символов в копирайтинге немножко отличается от обычного подсчета, т.к. пробелы и другие невидимые знаки в ней не учитываются, и стоимость написания текста считается за 1000 символов.

Комментарии

Нет комментариев

Заполните все поля

Написать комментарий

Ваше имя

Комментарий