Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Проблема с replace()


Автор: Serebrus 23.5.2008, 21:30
Привет и удачи всем.
Такой вопрос:
есть поле ввода текста теста.
Код

function change()
{
 var str=document.first.ttext.value;
 str=str.replace(/\na\)/,'A)');
 str=str.replace(/\nб\)/,'B)');
 str=str.replace(/\nв\)/,'C)');
 str=str.replace(/\nг\)/,'D)');
 str=str.replace(/\nд\)/,'E)');
}


но эта функция не меняет все а),б),в),г),д); а меняет только первые (т.е. меняет только буквы первого теста, буквы всех остальных тестов 2,3,4,... остаются без изменений а),б),в),г),д))

Как можно это уладить?
Заране спосибо всем.

Автор: almagnit 23.5.2008, 22:20
А что получиться если в цикле выполнить ?

Думаю должно заменить следующий незамененные.

Автор: Serebrus 24.5.2008, 14:31
Допустим что имеется такой текст теста:

1. Вопрос 1 оцщшаоцщуоаоушщоа
а) ответ1 азщлцузал
б) ответ2 азщлцузал
в) ответ3 азщлцузал
г) ответ4 азщлцузал
д) ответ5 азщлцузал

2. Вопрос 2 оцщшаоцщуоаоушщоа
а) ответ1 азщлцузал
б) ответ2 азщлцузал
в) ответ3 азщлцузал
г) ответ4 азщлцузал
д) ответ5 азщлцузал

3. Вопрос 3 оцщшаоцщуоаоушщоа
а) ответ1 азщлцузал
б) ответ2 азщлцузал
в) ответ3 азщлцузал
г) ответ4 азщлцузал
д) ответ5 азщлцузал

Надо чтобы, при использовании функции change() изменились все буквы ответов т.е.: а) на A), б) на B), в) на C), г) на D), д) на E).
Функция change() меняет буквы только первого текста.

Автор: Ghirik 24.5.2008, 23:52
Код

str = str.replace(/\nа\)/g, 'A)');
str = str.replace(/\nб\)/g, 'B)');
str = str.replace(/\nв\)/g, 'C)');
str = str.replace(/\nг\)/g, 'D)');
str = str.replace(/\nд\)/g, 'E)');

Автор: SelenIT 25.5.2008, 00:20
Альтернативный вариант - str.split('а').join('А').split('b').join('B')...

Автор: AKS 25.5.2008, 13:26
Цитата(SelenIT @  25.5.2008,  00:20 Найти цитируемый пост)
Альтернативный вариант - str.split('а').join('А').split('b').join('B')...

Так ведь все содержимое текстовой области просто станет upper case. ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)