Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   replace, отправить данные в функцию (https://javascript.ru/forum/misc/18943-replace-otpravit-dannye-v-funkciyu.html)

ВэйДлин 20.07.2011 21:26

replace, отправить данные в функцию
 
Как отправить значения в функцию и так чтоб replace заменил текст на то что вернёт эта функция?
function func(var1, var2){
  alert(var1);
  alert(var2);
  return 'На то что заменим';
};
':111:{222}'.replace(/\:(.*?)\:\{(.*?)\}/g,  func("$1", "$2"));

kobezzza 20.07.2011 23:06

В replace вторым параметром вы подставляете не функцию, а то что она возвращает, вам же нужно передать именно саму функцию, а не её результат, т.е.
':111:{222}'.replace(/\:(.*?)\:\{(.*?)\}/g,  func);


http://javascript.ru/basic/regular-e...herez-funkciyu

B@rmaley.e><e 21.07.2011 00:06

Только следует учесть, что первым аргументом функции будет передана вся совпавшая строка, а потом уже содержимое скобок.


Часовой пояс GMT +3, время: 03:21.