- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вроде простая вещь, но уже пол часа убил - не работе.
Код
В переменной AddParamsSessionBylo (получаем через var AddParamsSessionBylo = jQuery('#final-session').val(); ) лежит 'zz' которую нужно заменить на 'aaaaaaaaa'
Если писать так:
var AddParamsSessionBylo = jQuery('#final-session').val();
var ForReplaceSession = /zz/gi;
var vNewStr = AddParamsSessionBylo.replace(ForReplaceSession, "aaaaaaaaa");
то все работает.
Но если к примеру так:
var usersinput = 'zz';
var AddParamsSessionBylo = jQuery('#final-session').val();
var ForReplaceSession = '/'+usersinput+'/gi';
var vNewStr = AddParamsSessionBylo.replace(ForReplaceSession, "aaaaaaaaa");
то нифига((
Как формировать регулярки на основе переменных?
Как в регулярку вставлять переменную?
А если просто:
var vNewStr = AddParamsSessionBylo.replace('/'+usersinput+'/gi', "aaaaaaaaa");
не катит((
хз почему... в чем разница понять не могу...
даже вот в саму регулярку
var usersinput = 'zz';
var vNewStr = AddParamsSessionBylo.replace('/'+usersinput+'/gi', "aaaaaaaaa"); // не катит
var vNewStr = AddParamsSessionBylo.replace(/zz/gi, "aaaaaaaaa"); // катит
как будто на кавычки быкует, но как мне быть? мне то нужно имено из переменной.
а обязательно везде var добавлять?
Попробовал без var - ничего не изменилось.
вообще я так полагаю, что наличие var не должно мешать т.к. даже в примерах по реплэйс видел, что var прописывают.
я вот думаю, может как то через new RegExp() пробовать воткнуть, но чет тоже нифига не выходит((
Понял вас.
Пользуйтесь:
var AddParamsSessionBylo='zxclkzxjcxlc 2342142 zz 234324234';
var usersinput = 'zz';
var vNewStr = AddParamsSessionBylo.replace( new RegExp( usersinput, "g" ), "aaaaaaaaaa" );
alert(vNewStr);
---------- Добавлено 10.02.2015 в 16:40 ----------
И на будущее:
https://www.google.ru/search?client=opera&q=javascript+var+string&sourceid=opera&ie=UTF-8&oe=UTF-8#newwindow=1&safe=off&q=javascript+replace+%D0%BD%D0%B5+%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82+%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F
Спасибо!
Теперь работает!
А я чет кручу-верчу эту RegExp(), малец неверно применял...