Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2014, 10:38
Новичок на форуме
Отправить личное сообщение для daranger Посмотреть профиль Найти все сообщения от daranger
 
Регистрация: 06.02.2014
Сообщений: 3

Помощь с replace - работает только 1 раз
Речь идёт не о /\+/g вроде как бы про данный флаг я понял.

Немного видоизменяю ссылки с парсинга ютюба.
код:
video_link = response.data.items[i].title.replace('/', '-'); //заменяю слеш на дефис
далее все пробелы хочу заменить на дефис
делаю это так
video_link = response.data.items[i].title.replace(/\ /g, '-');
но работает только что написано выше.
а ещё мне нужно удалить все лишние символы скобки, точки, запятые и т.д.
но пока что не допёр как, подскажите!)
Ответить с цитированием
  #2 (permalink)  
Старый 06.02.2014, 10:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от daranger
все пробелы хочу заменить на дефис
Цитата:
\s Найдет любой пробельный символ, включая пробел, табуляцию, переводы строки и другие юникодные пробельные символы. Например, /\s\w*/ найдет ' bar' в "foo bar."
http://javascript.ru/RegExp
Ответить с цитированием
  #3 (permalink)  
Старый 06.02.2014, 11:10
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от daranger
Немного видоизменяю ссылки с парсинга ютюба.
код:
video_link = response.data.items[i].title.replace('/', '-'); //заменяю слеш на дефис

далее все пробелы хочу заменить на дефис
делаю это так
video_link = response.data.items[i].title.replace(/\ /g, '-');

но работает только что написано выше.
Делай все разом

var val='111 222/333';
alert(val.replace(/\s|\//g,'-'));
Ответить с цитированием
  #4 (permalink)  
Старый 06.02.2014, 11:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от daranger
а ещё мне нужно удалить все лишние символы скобки, точки, запятые и т.д.
но пока что не допёр как, подскажите
Как вариант...

var val='111.222,333(444)';
alert(val.replace(/[.,()]/g,''));
Ответить с цитированием
  #5 (permalink)  
Старый 06.02.2014, 11:41
Новичок на форуме
Отправить личное сообщение для daranger Посмотреть профиль Найти все сообщения от daranger
 
Регистрация: 06.02.2014
Сообщений: 3

Спасибо большое, разобрался, то что нужно, в дополнение подскажите как удалить повторяющиеся дефисы и дефисы вначале и в конце
Ответить с цитированием
  #6 (permalink)  
Старый 06.02.2014, 12:26
Новичок на форуме
Отправить личное сообщение для daranger Посмотреть профиль Найти все сообщения от daranger
 
Регистрация: 06.02.2014
Сообщений: 3

Всем спасибо, тему можно закрывать, последнее решил так:
video_link = video_link.replace(/(^\-*)|(\-*)$/g, ''); //удаляем дефис вначале и в конце
video_link = video_link.replace(/\-+/g,"-"); //удаляем повторяющиеся дефисы
Ответить с цитированием
  #7 (permalink)  
Старый 06.02.2014, 13:57
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от daranger Посмотреть сообщение
Всем спасибо, тему можно закрывать, последнее решил так:
video_link = video_link.replace(/(^\-*)|(\-*)$/g, ''); //удаляем дефис вначале и в конце
video_link = video_link.replace(/\-+/g,"-"); //удаляем повторяющиеся дефисы
Символ "-" обретает свою силу внутри диапазона. В иных случаях экранировать не нужно

Это - не диапазоны.
alert( '1---2'.replace(/-+/g, "-") );
alert( '1---2'.replace(/[-]+/g, "-") );
alert( '1-,-2'.replace(/[,-]+/g, "-") );


15.10.2.16, Примечание 3.
Ответить с цитированием
  #8 (permalink)  
Старый 06.02.2014, 19:21
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Возможно изобретать ничего не надо https://github.com/YePpHa/YouTubeCenter/wiki/Features
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт работает только в IE xstp Общие вопросы Javascript 3 13.09.2009 15:22
Скрипт меню работает только под IE7 и выше TAILER Internet Explorer 1 31.08.2009 13:21
Скрипт меню не работает только в Firefox somatic Firefox/Mozilla 2 28.07.2009 03:23
Спойлер работает только на один объект на странице. Shanks Общие вопросы Javascript 4 10.05.2009 14:53
Не работает AppendChild для div, причём только в IE _Kpot_ Internet Explorer 5 12.02.2009 10:55