|
|
|
| Как в replace() поменять регистр символам
str=str.replace(/(r)/g, "$1".toLocaleUpperCase());
str=str.replace(/(r)/g, RegExp.$1.toLocaleUpperCase());
Ни чего не происходит, если написать так, "$1rrr".toLocaleUpperCase(), то меняет только "мой" текст.
Пробовал передать $1-$9 в функцию, передаётся пустая строка, как их правильно передавать?
str=str.replace(/(r)/g, func(RegExp.$1));
function func(str){
alert(str);
};
Где ошибаюсь? | |
|
|
|
|
|
|
|
для: oldOld
(20.09.2011 в 07:02)
| | $1...$9 надо сначала создать, и только затем их можно использовать в методе replace ()
Например, так:
var re = new RegExp ('(r)', 'g');
var arr = re.exec(str); //создаём $1...$9
str = str.replace (re, RegExp.$1.toLocaleUpperCase ()); //используем $1...$9
alert (str);
|
| |
|
|
|
|
|
|
|
для: АЯС
(20.09.2011 в 09:12)
| | Спасибо, понял.
Только не понятно откуда беруться тут
var re = new RegExp ('(r)(R)', 'g');
var str = str.replace (re, "$2$1");
Так то работает и я отсюда исходил. В чём разница? | |
|
|
|