Форум русской поддержки Joomla!® CMS
11.12.2016, 14:00:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вопрос по JS не могу разобраться в коде

 (Прочитано 306 раз)
0 Пользователей и 1 Гость смотрят эту тему.
/dev/null
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 33


/dev/null


« : 12.05.2016, 22:31:32 »

Всем доброго времени суток!
Возникла проблема, в шаблоне присутствует JS который берет первый символ последнего введенного слова и подкрашивает определенным цветом. Но вся беда в том, что скрипт реагирует только на спец символы ($&>?) и английские символы (abcd), а нужно чтобы он цеплял и русские буквы тоже.

Код:

Код:
$(".ja-healineswrap em, .t3-bottomslider .module-title span").html(function(index, old) {
return old.replace(/(\b\w+)$/, '<span class="last-word">$1</span>');
});

Вот регулярное выражение. Оно появляется если в конце присутствует английский символ. К коду добавляется вот этот span <span class="last-word">$1</span>

Заранее спасибо.
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #1 : 13.05.2016, 00:29:04 »

Код
var txt ='Привет дорогой друг';
console.log(txt.replace(/([^\s]+)$/, '<span class="last-word">$1</span>'));
 
вариант
Записан
SmokerMan
Профи
********

Репутация: +695/-25
Offline Offline

Пол: Мужской
Сообщений: 5226



« Ответ #2 : 13.05.2016, 00:38:43 »

Код:
return old.replace(/(.*\s)(.*)$/, '$1<span class="last-word">$2</span>')

Код
var txt ='Привет дорогой друг';
console.log(txt.replace(/([^\s]+)$/, '<span class="last-word">$1</span>'));
 
вариант
если будет 1 слово он тоже обернет его в span
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #3 : 13.05.2016, 00:53:14 »

если будет 1 слово он тоже обернет его в span
именно так, как и приведенный автором вариант
вариант с исключением первого слова
Код
var txt ='Привет дорогой друг';
console.log(txt.replace(/(\s)([^\s]+)$/, '$1<span class="last-word">$2</span>'));
console.log(txt.replace(/ ([^\s]+)$/, ' <span class="last-word">$1</span>'));
 
« Последнее редактирование: 13.05.2016, 00:56:41 от Fedor Vlasenko » Записан
/dev/null
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 33


/dev/null


« Ответ #4 : 13.05.2016, 13:26:18 »

Ок, спасибо. Вечером попробую, отпишусь по результатам))
Записан
Genetic_Bros
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #5 : 16.05.2016, 15:47:40 »

именно так, как и приведенный автором вариант
вариант с исключением первого слова
Код
var txt ='Привет дорогой друг';
console.log(txt.replace(/(\s)([^\s]+)$/, '$1<span class="last-word">$2</span>'));
console.log(txt.replace(/ ([^\s]+)$/, ' <span class="last-word">$1</span>'));
 

Добавили, всё заработало как на часах, спасибо Cheesy
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet