Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> регулярка 
V
    Опции темы
bars80080
Дата 28.10.2008, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



как всегда туплю с регулярками

хочу в новую строку получить текст очищенный от символов не удовлетворяющих условию
в данном случае хочу удалить всё не являющееся цифрами и буквами:

Код

pnr1 = pnr.replace(/[^A-Za-zА-Яа-яЁё0-9]/,'');


что-то не пашет

Добавлено через 3 минуты и 28 секунд
ух ты, оказывается работает, но заменяет только по одному символу. а как можно сразу все?
PM MAIL WWW   Вверх
destrd
Дата 28.10.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 1.10.2008

Репутация: нет
Всего: 4



Подойдёт?
Код

str1 = str.replace(/([\D\W]|(_))+/,'');

дополнительно обрабатываем "_" потому что оно входит в \W и в первом условии не удалится.

Это сообщение отредактировал(а) destrd - 28.10.2008, 12:05
--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems.        -- Jamie Zawinski in comp.lang.emacs
PM MAIL ICQ   Вверх
Itsys
Дата 28.10.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 12
Всего: 34



Цитата(bars80080 @  28.10.2008,  11:42 Найти цитируемый пост)
ух ты, оказывается работает, но заменяет только по одному символу. а как можно сразу все?

Насколько я помню, надо добавить в шаблон "g"
Код

pnr1 = pnr.replace(/[^A-Za-zА-Яа-яЁё0-9]/g,'');



Добавлено @ 12:23
ну и аналогично
Код

str1 = str.replace(/([\D\W]|(_))+/g,'');


Это сообщение отредактировал(а) Itsys - 28.10.2008, 12:24
PM MAIL WWW Skype   Вверх
destrd
Дата 28.10.2008, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 1.10.2008

Репутация: нет
Всего: 4



Цитата(Itsys @  28.10.2008,  12:22 Найти цитируемый пост)
ну и аналогично
Код

str1 = str.replace(/([\D\W]|(_))+/g,'');


Да, глобально ещё надо

Это сообщение отредактировал(а) destrd - 28.10.2008, 13:08
--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems.        -- Jamie Zawinski in comp.lang.emacs
PM MAIL ICQ   Вверх
ksnk
Дата 28.10.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



destrd, а вот русские буквы  входят в \W smile


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
bars80080
Дата 28.10.2008, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



да destrd, русские он выкидывает, пример Itsys работает как надо

всем спасибо
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.