replace
Функция поиска и замены совпадения в строке.
string.replace(/regExp/flags, replacer);
flags:i - совпадение не зависит от регистра
g - глобальный поиск (не останавливается после первого совпадения)
'1 2 3 2'.replace(/2/, 4); // "1 4 3 2"
'1 2 3 2'.replace(/2/g, 4); // "1 4 3 4"
replacer - может быть строкой, числом, функцией или ссылкой на функцию.
'1 2 3'.replace(/2/, "4"); // "1 4 3";
'1 2 3'.replace(/2/, 4); // "1 4 3";
var r = function (match) {
return match*4;
}
'1 2 3'.replace(/2/, r); // "1 8 3";
$` - всё что перед совпадением,
$& - совпадение,
$' - после совпадения.
'1 2 3'.replace(/2/, "[$`]") // "1 [1 ] 3"
'1 2 3'.replace(/2/, "[$&]") // "1 [2] 3"
'1 2 3'.replace(/2/, "[$']") // "1 [ 3] 3"
Внутри
[ ] квадратных скобок найденное совпадение либо то что предшествовало ему, либо следовало за ним. Соответственно найденная цифра 2 заменяется на вышеописанное.
$n - индекс совпадения. ($1, $2 ...)
(new Date()).toLocaleDateString().
replace(/^([0-9]+)\.([0-9]+)\.([0-9]+)$/, "$3-$2-$1");
// было "19.01.2010"
// стало "2010-01-19"