Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.01.2010, 17:18
Интересующийся
Отправить личное сообщение для Dotod Посмотреть профиль Найти все сообщения от Dotod
 
Регистрация: 30.11.2009
Сообщений: 20

Да пробовал уже и маршем, и гуськом, и по пластунски:

[ js ]
function sliceta(obj_slice)
{
var a = obj_slice.value.length;
if (a >= 500)
{
b = obj_slice.value.slice(0,500);
c = b.replace(/(\n(\r)?)/g, ' ');
obj_slice.value = c;
}
}
[ /js ]

Вот, разве не перед получением фрагмента?
Ответить с цитированием
  #12 (permalink)  
Старый 30.01.2010, 17:22
Интересующийся
Отправить личное сообщение для Dotod Посмотреть профиль Найти все сообщения от Dotod
 
Регистрация: 30.11.2009
Сообщений: 20

Так и знал! Сейчас буду искать правильное, спасибо за направление
Ответить с цитированием
  #13 (permalink)  
Старый 30.01.2010, 17:24
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

b.replace(/[\n\r]/g, "")
Ответить с цитированием
  #14 (permalink)  
Старый 30.01.2010, 17:24
Интересующийся
Отправить личное сообщение для Dotod Посмотреть профиль Найти все сообщения от Dotod
 
Регистрация: 30.11.2009
Сообщений: 20

Так и знал, что лучше пока с регулярщиной не связываться. Поищу варианты. Спасибо за направление. До связи
Ответить с цитированием
  #15 (permalink)  
Старый 30.01.2010, 17:52
Интересующийся
Отправить личное сообщение для Dotod Посмотреть профиль Найти все сообщения от Dotod
 
Регистрация: 30.11.2009
Сообщений: 20

Кстати, ваш вариант не помог - попробуйте сами. У меня только одна догадка - дело не в переносах строк. Не думал, что застопорюсь на такой мелочи. Если раскопаю, отпишусь здесь, чтоб другие сэкономили недельку другую. Но если у кого есть решение - пишите - не стесняйтесь
Ответить с цитированием
  #16 (permalink)  
Старый 30.01.2010, 18:21
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

все работает
<textarea id="test2" cols="10" rows="8">1
2
3
4
5
6
7
8</textarea>
<script type="text/javascript">
alert(document.getElementById("test2").value.replace(/[\r\n]/g, "").slice(0, 4));
</script>
Ответить с цитированием
  #17 (permalink)  
Старый 30.01.2010, 18:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Octane,
ну он же
Сообщение от Dotod
Число символов проверяю в word-е
Ответить с цитированием
  #18 (permalink)  
Старый 30.01.2010, 18:37
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Kolyaj
Octane,
ну он же
Сообщение от Dotod
Число символов проверяю в word-е
да))) тяжелый случай, целую неделю в ворде символы считать
Ответить с цитированием
  #19 (permalink)  
Старый 30.01.2010, 22:42
Интересующийся
Отправить личное сообщение для Dotod Посмотреть профиль Найти все сообщения от Dotod
 
Регистрация: 30.11.2009
Сообщений: 20

Ладно-ладно-ладно. Вот функция, которая должна обрезать текст до 500 символов:

function sliceta(obj_slice)
{
var a = obj_slice.value.length;
if (a >= 500)
{
b = obj_slice.value.slice(0, 500);
c = b.replace(/[\n\r]/g, "");
obj_slice.value = c;
alert(c.length);
}
}

Вставьте в textarea этот текст:
"
В Российской Федерации признаются и гарантируются права и свободы человека и гражданина согласно общепризнанным принциам и нормам междунаро8ного права и в соответствии с настоящей Конституцией.
2. Основные права и свободы человека неотчуждаемы и принадлежат каждому от рождения.
3. Осуществление прав и свобод человека и гражданина не должно нарушать права и свободы других лиц.
Статья 18
Права и свободы человека и гражданина являются непосредственно действующими. Они определяют смысл, содержание и применение законов, деятельность законодательной и исполнительной власти, местного самоуправления и обеспечиваются правосудием.
Статья 19
1. Все равны перед законом и судом.
2. Государство гарантирует равенство прав и свобод человека и гражданина независимо от пола, расы, национальности, языка, происхождения, имущественного и должностного положения, места жительства, отношения к религии, убеждений, принадлежности к общественным объединениям, а также других обстоятельств. Запрещаются любые формы ограничения прав граждан по признакам социальной, расовой, национальной, языковой или религиозной принадлежности.
3. Мужчина и женщина имеют равные права и свободы и равные возможности для их реализации.
Статья 20
1. Каждый имеет право на жизнь.
2. Смертная казнь впредь до ее отмены может устанавливаться федеральным законом в качестве исключительной меры наказания за особо тяжкие преступления против жизни при предоставлении обвиняемому права на рассмотрение его дела судом с участием присяжных заседателей.
В Российской Федерации признаются и гарантируются права и свободы человека и гражданина согласно
"

И узрите, alert в firefox покажет длину в 496 символов, а в opera и того 492 вместо нужных 500
Ответить с цитированием
  #20 (permalink)  
Старый 30.01.2010, 22:52
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Dotod
Ладно-ладно-ладно. Вот функция, которая должна обрезать текст до 500 символов:

function sliceta(obj_slice) 
{
var a = obj_slice.value.length;
if (a >= 500) 
{
*!*
b = obj_slice.value.slice(0, 500);
c = b.replace(/[\n\r]/g, "");
*/!*
obj_slice.value = c;
alert(c.length);
}
}
ладно, повторю 3-й раз, мне не трудно:
Сообщение от Octane
Если переносы строк не нужны, удалите их перед получением фрагмента строки.
Сообщение от Octane
…value.replace(/[\r\n]/g, "").slice(0, …)


Сообщение от Dotod
if (a >= 500)
в итоге, при удалении непечатных символов, может получится меньше 500. Тоже проверять количество видимых символов нужно после удаления непечатных.

Последний раз редактировалось Octane, 30.01.2010 в 23:00.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59
свойство innerHTML в Opera и Firefox работает не корректно? figaro Javascript под браузер 1 05.11.2009 00:57
Opera не корректно работает со скриптом Anat.nem Opera, Safari и др. 4 30.10.2009 13:39
Скрипт В IE отрабатывает корректно, но не работает в FF 3.5 Sonkkorh AJAX и COMET 11 27.07.2009 19:03
В объекте не корректно работает инкремента (++ или +=1)) Bratok Общие вопросы Javascript 2 28.04.2009 01:28