Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Необходимо заменить id=" и id= на id="s и id=s (https://javascript.ru/forum/misc/28779-neobkhodimo-zamenit-id%3D-i-id%3D-na-id%3D-s-i-id%3Ds.html)

mirek 02.06.2012 15:00

Необходимо заменить id=" и id= на id="s и id=s
 
Необходимо заменить id=" и id= на id="s и id=s

Как это сделать ?

Вначале я реализовал такую задачу двумя строками

.replace(/id=?\"/g, "id=\"s");
.replace(/id=/g, "id=s");


Но в результате в строке и id=" меняется на id=s"

Как произвести такую замену, что-бы только id=" поменялось на id="s и только если id= без кавычки то только тогда id= поменялось бы на id=s ?

Deff 02.06.2012 15:12

var str=' id=" id=   ';
var strOut=str.replace(/(id="?)/img, "$1s");
alert(strOut)

melky 02.06.2012 15:18

Deff, зачем тут запоминающие скобки? Можно и без них :
mystr.replace(/id="?/, "$&s");

Пример:
// заменить id=" и id= на id="s и id=s
alert( '   id= '.replace(/id="?/, "$&s") + "\n" + '   id="   '.replace(/id="?/, "$&s")  );

При необходимости замены во всей строке добавить флаг global.

Deff 02.06.2012 15:24

melky,
Ну мну всегда считает что строка не из одного элемента
melky,:thanks: Плюсов ставить уже не могу

mirek 02.06.2012 16:09

Deff, огромнееейшее спасибо :thanks:

melky, зато вариант Deff-а 100% работает :)

melky 02.06.2012 16:29

Цитата:

Сообщение от mirek
melky, зато вариант Deff-а 100% работает

А мой не работает?
alert(  '   id=  id=" '.replace(/id="?/g, "$&s") );

Про замену во всей строке я упоминал.

mirek 03.06.2012 04:14

Цитата:

Сообщение от melky (Сообщение 178247)
А мой не работает?

Извини пропустил:)


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