Javascript.RU

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

replace регулярка
Подскажите, пожалуйста.
Цель, удалить из строки все кроме "a-zA-Zа-яА-Я.-_()[]" и пробелов
Код:
var text = "old!\"№;%ХЪ{}][--_()/.";
alert(text.replace(/[^a-zA-Zа-яА-Я.-_()[]/gi, ""));

Результат: old;ХЪ][_()/.
Оставил ; / и наверняка оставит что-то еще. Помогите написать регулярочку.

Последний раз редактировалось Redya69, 30.07.2013 в 01:52.
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2013, 02:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Redya69,
не_тире в конец квадратных скобок и не_квадратные скобки в юникоде.
var text = "old!\"№;%ХЪ{}][--_()/.";
alert(text.replace(/[^a-zA-Zа-яА-Я._()\u005B\u005D\s-]/gi, ""));

Последний раз редактировалось рони, 30.07.2013 в 02:05.
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2013, 15:35
Интересующийся
Отправить личное сообщение для Redya69 Посмотреть профиль Найти все сообщения от Redya69
 
Регистрация: 30.07.2013
Сообщений: 23

Ну и дебри....спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2013, 15:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Redya69,
для полного счастья ещё добавить ё и убрать большие буквы -- у вас флаг i — не различать строчные и заглавные буквы
var text = "old!\"№;%ХЪ{}][--_()/.";
alert(text.replace(/[^a-zа-яё._()\u005B\u005D\s-]/gi, ""));
Ответить с цитированием
  #5 (permalink)  
Старый 31.07.2013, 01:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

[^\w\W\(\)\u005B\u005D\s-]
Ответить с цитированием
  #6 (permalink)  
Старый 31.07.2013, 01:43
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Кстать тут на мегабайтных (~2), текстах пришлось в старых ИЕ тестить разные регулярки, так вот там лучше либо брать по строкам и парсить хитрую регу, либо разбить на простые реги - и парсить до конца, но несколько раз, - иначе браузер виснет тотально
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает replace на строке с русскими буквами mishgan Opera, Safari и др. 0 26.06.2013 20:31
Регулярка для вложенных "тегов" типа [[tag? &attr="[[nested]]"]] danik.js Общие вопросы Javascript 5 10.12.2012 04:41
Метод replace cyber Events/DOM/Window 20 07.05.2012 00:38
Помогите с replace! faforty Общие вопросы Javascript 2 28.08.2011 13:10
Странное поведение replace cooli0 Общие вопросы Javascript 4 25.01.2010 17:16