replace, отправить данные в функцию
Как отправить значения в функцию и так чтоб replace заменил текст на то что вернёт эта функция?
function func(var1, var2){ alert(var1); alert(var2); return 'На то что заменим'; }; ':111:{222}'.replace(/\:(.*?)\:\{(.*?)\}/g, func("$1", "$2")); |
В replace вторым параметром вы подставляете не функцию, а то что она возвращает, вам же нужно передать именно саму функцию, а не её результат, т.е.
':111:{222}'.replace(/\:(.*?)\:\{(.*?)\}/g, func); http://javascript.ru/basic/regular-e...herez-funkciyu |
Только следует учесть, что первым аргументом функции будет передана вся совпавшая строка, а потом уже содержимое скобок.
|
Часовой пояс GMT +3, время: 03:21. |