Подсчет количества символов на JavaScript
В сегодняшней статье мы поговорим о подсчете количества символов в строке, текстовом поле, или textarea, и сделаем форму для подсчета символов.
В последнее время набирает обороты услуги написания текстов для сайта. Многие люди в поисках удаленной работы начинают заниматься копирайтингом. Форма для подсчета количества символов в копирайтинге немножко отличается от обычного подсчета, т.к. пробелы и другие невидимые знаки в ней не учитываются, и стоимость написания текста считается за 1000 символов. Поэтому будем делать подсчет количества символов с расчетом стоимости написания статьи, и с возможностью просчета без пробелов.
Начнем с малого, в JavaScript для подсчета количества символов в строке, используется свойство length. Вот небольшой примерчик:
var string = "Компания OX2.ru занимается созданием сайтов и интернет магазинов";
alert(string.length);
В этом примере на экран выведется сообщение, с количеством символов в строке (строка хранится в переменной string).
Теперь усложним алгоритм, и сделаем форму с подсчетом стоимости:
Количество символов JavaScript | Дизайн студия OX2
/**
* Подсчет количества символов и стоимость написание текста в 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; }
Стоимость написания текста составит: 0 руб.
Код примера достаточно простой, но с его помощью очень сильно ускорится и оптимизируется работа копирайтера.