Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Заменить символы в строке. Jquery


Автор: artlayers 17.3.2010, 14:13
Здравствуйте. 
Библиотека jquery.
Есть переменная val, в ней нужно заменить символ длинного тире "—", символ короткого тире "-", нижнего подчеркивания "_" на пробелы и убрать все лишние (более одного) пробелы внутри строки. как можно реализовать? И чтобы не медленно работало. Строка небольшая не больше 100 символов длиной.

Автор: skyboy 17.3.2010, 14:28
jquery тут ни при чем.
в javascript у объектов String есть метод replace
Код

'some-string    with ---___different symbols'.replace(/[-_—]+/g,' ').replace(/  +/g, ' ');


Автор: artlayers 17.3.2010, 14:45
Код

val='some----string    with ---___different symbols';
str_v=val.replace(/[-_—]+/,' ').replace(/  +/, ' ');
alert(str_v);

Почему меняет только '----' после some на один пробел, а остальное не трогает

Автор: artlayers 17.3.2010, 15:01
Понял, надо глобально искать 
/[-_—]+/g

Автор: skyboy 17.3.2010, 15:37
да, не сразу вспомнил. потом уже подправил свой ответ.

Автор: artlayers 17.3.2010, 18:14
Спасибо. Еще вопрос. Как можно по краям строки убрать лишние пробелы, аналог функции trim в php?

Автор: ksnk 18.3.2010, 13:37
http://www.google.ru/search?sourceid=chrome&ie=UTF-8&q=trim+%D0%B2+javascript

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)