Показать сообщение отдельно
  #5 (permalink)  
Старый 13.09.2009, 11:47
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Georgiy
и даже не пробовал этот вариант.
Сообщение от Georgiy
даже пробовать не рискнул
что ж вы такой не уверенный-то?)
от того, что вы попробуете пускай даже бредовую идею, ничего страшного тут не случится
Сообщение от Georgiy
видел функцию str.replace(' ','_')
ну, вполне можно было использовать
только в виде:
new_el.value = el.value.replace(/([\u0410-\u0451])/g,
            function (str,p1,offset,s) {
                if (A[str] != 'undefined'){return A[str];}
            }
        ).replace(/ /g,'_');//символ g использован для того чтобы заменять все пробелы, а не только первый

Но это скорее костыль
правильно будет так сделать:
Сообщение от Georgiy
A[" "]="_";
(вы двигались в верном направлении)
и
new_el.value = el.value.replace(/([\u0410-\u0451 ])/g,//обратите внимание на пробел перед закрывающей квадратной скобкой.
                                                                          //благодаря ему и работает
            function (str,p1,offset,s) {
                if (A[str] != 'undefined'){return A[str];}
            }
        );

суть в том, что мы расширили символьный класс [\u0410-\u0451] до [\u0410-\u0451 ], добавив пробел в качестве символа для поиска
для того, чтобы понять как вообще работают регулярные выражения в JS, рекомендую ознакомится со статьями
http://javascript.ru/basic/regular-expression
http://javascript.ru/RegExp
Ответить с цитированием