Метод replace объекта String
Синтаксис
replace(regexp, newSubStr) replace(regexp, function)
В JavaScript 1.3 в качестве второго параметра можно использовать функцию. В этом случае заданная функция будет вызвана после метода match и ее результат ( строка ) заменит найденную подстроку. Есть возможность передать найденную подстроку функции. Первый параметр функции содержит найденную подстроку, остальные - подсовпадения в найденной строке. Надеюсь следующий пример разъяснит смысл вышесказанного:
"XXzzzz".replace(/(X*)(z*)/, function (str, p1, p2) {return str +" - " + p1 +" , " + p2;} )
вернет XX.zzzz - XX , zzzz