Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2016, 18:49   #1
Владимир1989
Пользователь
 
Регистрация: 25.09.2012
Сообщений: 30
По умолчанию Обрезка текста в ячейке таблицы

Ребят помогите пожалуйста.
На странице есть кнопка "Поиск", при нажатии на поиск появляется таблица, в одной из колонок текст отображается в виде:
Иванов Иван,#i:0#.w|odfghdfgh\dfghfghdfhfd s,#haa@apm.ur.ru,#Jkl;kl;klAlA@apm. ur.ru,#Иванов Иван
Подскажите пожалуйста, как правильно написать javascript по обрезке текста, чтобы в ячейке отображался текст до запятой?
В javascript я новичок, прошу вашей помощи.
Пример скрипта:
Код:
<script type="text/javascript">
$(document).ready(function() {
  cjQuery(".searchbutton").children().click();
  cjQuery(".srch-Page srch-Page-bg").children().click(); 
  tagList = document.querySelectorAll('.ms-vb-title');
    for (var i =0; i < tagList.length; i++) {
      if (tagList.item(i).innerGTNL.length > 20) {
        re = RegExp {/[^а-я]+\b\,\#\S+\s+\S+/};
	tagList.item(i).innerHTML = tagList.item(i).innerHTML.split (re);
	}
    }
)}
</script>

Последний раз редактировалось Владимир1989; 28.01.2016 в 18:45.
Владимир1989 вне форума Ответить с цитированием
Старый 27.01.2016, 19:41   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Вот сам код, который обрезает текст до первой запятой:
Код:
var str = "Ваша строка";
var regex = new RegExp(".*,");

var result = regex.exec(str);
Вадим Мошев вне форума Ответить с цитированием
Старый 28.01.2016, 18:44   #3
Владимир1989
Пользователь
 
Регистрация: 25.09.2012
Сообщений: 30
По умолчанию

Попробовал выполнить скрипт, но текст почему-то вывелся до последней запятой:
Иванов Иван,#i:0#.w|odfghdfgh\dfghfghdfhfd s,#haa@apm.ur.ru,#Jkl;kl;klAlA@apm. ur.ru,

Может, я что-то делаю не так?

На странице текст находится в таблице, в определенной колонке, привожу кусок кода:
Код:
<td class="ms-vb-title" fieldname="Vladelec">Иванов Иван,#i:0#.w|odfghdfgh\dfghfghdfhfds,#haa@apm.ur.ru,#Jkl;kl;klAlA@apm.ur.ru,#Иванов Иван</td>
Как именно обратиться к этой колонке, чтобы вывести текст именно до первой запятой?

Последний раз редактировалось Владимир1989; 28.01.2016 в 18:47.
Владимир1989 вне форума Ответить с цитированием
Старый 28.01.2016, 19:29   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Вот сам код, который обрезает текст до первой запятой:
Код:
var str = "Ваша строка";
var regex = new RegExp(".*,");

var result = regex.exec(str);
Это до последней запятой, потому что по дефолту идет ленивая квантификация, а нужно жадную. ТС мог бы банально в вике почитать про это.
Код:
var regex = new RegExp(".*?,");
Причем поиск захватит запятую, чего, думаю не надо, так что имеет смысл юзануть просмотр вперед
Код:
var regex = new RegExp(".*?(?=,)");
п.с. просмотр вперед в JS есть, а назад вот отсутствует, к сожалению.
Alar, верни репу!

Последний раз редактировалось Naive; 28.01.2016 в 19:33.
Naive вне форума Ответить с цитированием
Старый 28.01.2016, 19:54   #5
Владимир1989
Пользователь
 
Регистрация: 25.09.2012
Сообщений: 30
По умолчанию

Спасибо.
Я правда не силен в Java, только начал изучать.
А как сделать обращение к колонке таблицы, т.к. данные в этой колонке разные и мне нужно, чтобы текст обрабатывался на стороне javascript и возвращался обратно в колонку.
Во всей таблице class одинаковый, как обратиться непосредственно к самой колонке fieldname="Vladelec" и вернуть обработанный текст?
Код:
<td class="ms-vb-title" fieldname="Vladelec">Иванов Иван,#i:0#.w|odfghdfgh\dfghfghdfhfds,#haa@apm.ur.ru,#Jkl;kl;klAlA@apm.ur.ru,#Иванов Иван</td>
Владимир1989 вне форума Ответить с цитированием
Старый 28.01.2016, 20:21   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Это до последней запятой, потому что по дефолту идет ленивая квантификация, а нужно жадную. ТС мог бы банально в вике почитать про это.
Вероятно, ты просто местами слова перепутал.
Вадим Мошев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обрезка лишнего текста, есть проблема nikolokaputik80 JavaScript, Ajax 5 10.11.2015 08:32
Определить, сколько строк текста в ячейке таблицы CrySTaL Microsoft Office Word 6 11.01.2013 11:47
Данные из таблицы в список, если в ячейке таблицы стоит количество oleg_sh Microsoft Office Excel 4 08.10.2012 14:52
Перенос длинного текста в ячейке таблицы den_1973 HTML и CSS 4 12.10.2010 15:29
форматирование текста в ячейке alex_r Microsoft Office Excel 2 30.04.2009 19:12