Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.01.2016, 13:29
Аспирант
Отправить личное сообщение для diakon Посмотреть профиль Найти все сообщения от diakon
 
Регистрация: 28.09.2009
Сообщений: 49

Транслит текста. Замена спецсимвола #
Добрый день. У меня есть функция транслита текста. Но возникла проблемма. Мне надо, если в строке есть сисвол типа "#" - заменять его как ""
У меня для транслита такая фунуция:
function translite(str){
        var arr={'а':'a', 'б':'b', 'в':'v', 'г':'g', 'д':'d', 'е':'e', 'ё':'yo', 'ж':'g', 'з':'z', 'и':'i', 'й':'y', 'к':'k', 'л':'l', 'м':'m', 'н':'n', 'о':'o', 'п':'p', 'р':'r', 'с':'s', 'т':'t', 'у':'u', 'ф':'f', 'х':'ch', 'ц':'c', 'ч':'ch', 'ш':'sh', 'щ':'shh', 'ъ':'', 'ь':'', 'ы':'y', 'э':'e', 'ю':'yu', 'я':'ya',
                 'А':'A', 'Б':'B', 'В':'V', 'Г':'G', 'Д':'D', 'Е':'E', 'Ё':'YO', 'Ж':'G', 'З':'Z', 'И':'I', 'Й':'Y', 'К':'K', 'Л':'L', 'М':'M', 'Н':'N', 'О':'O', 'П':'P', 'Р':'R', 'С':'S', 'Т':'T', 'У':'U', 'Ф':'F', 'Х':'CH', 'Ц':'C', 'Ч':'CH', 'Ш':'SH', 'Щ':'SHH', 'Ъ':'', 'Ь':'', 'Ы':'y', 'Ю':'YU', 'Я':'YA', 'Э':'E',
                 '#':'', ' ':'-'};
        var replacer=function(a){return arr[a]||a};
        return str.replace(/[А-яёЁ:)(/\\ ]/g,replacer);
    }


Все работает, но символ # упорно не траслитируется. Хотя в массиве он есть (предпоследний элемент массива arr)
Подскажите, кто в курсе как быть?
Ответить с цитированием
  #2 (permalink)  
Старый 07.01.2016, 13:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

diakon,
function translite(str){
        var arr={'а':'a', 'б':'b', 'в':'v', 'г':'g', 'д':'d', 'е':'e', 'ё':'yo', 'ж':'g', 'з':'z', 'и':'i', 'й':'y', 'к':'k', 'л':'l', 'м':'m', 'н':'n', 'о':'o', 'п':'p', 'р':'r', 'с':'s', 'т':'t', 'у':'u', 'ф':'f', 'х':'ch', 'ц':'c', 'ч':'ch', 'ш':'sh', 'щ':'shh', 'ъ':'', 'ь':'', 'ы':'y', 'э':'e', 'ю':'yu', 'я':'ya',
                 'А':'A', 'Б':'B', 'В':'V', 'Г':'G', 'Д':'D', 'Е':'E', 'Ё':'YO', 'Ж':'G', 'З':'Z', 'И':'I', 'Й':'Y', 'К':'K', 'Л':'L', 'М':'M', 'Н':'N', 'О':'O', 'П':'P', 'Р':'R', 'С':'S', 'Т':'T', 'У':'U', 'Ф':'F', 'Х':'CH', 'Ц':'C', 'Ч':'CH', 'Ш':'SH', 'Щ':'SHH', 'Ъ':'', 'Ь':'', 'Ы':'y', 'Ю':'YU', 'Я':'YA', 'Э':'E',
                 '#':'', ' ':'-'};

        var replacer=function(a){return arr[a] !== void 0 ? arr[a]: a};
        return str.replace(/./g,replacer);
    }
alert(translite('###Фигня# #вопрос'));
Ответить с цитированием
  #3 (permalink)  
Старый 07.01.2016, 15:09
Аспирант
Отправить личное сообщение для diakon Посмотреть профиль Найти все сообщения от diakon
 
Регистрация: 28.09.2009
Сообщений: 49

Спасибо!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение текста и замена его lazigi Javascript под браузер 2 19.01.2015 09:53
Замена текста при наведении Sirius-jack Общие вопросы Javascript 3 04.05.2013 05:16
Замена частей текста Joshka Javascript под браузер 5 04.05.2011 05:10
Замена текста в блоках по клику, помогите новичку) langolier Я не знаю javascript 1 27.05.2009 04:13
вывод и замена текста Classi Общие вопросы Javascript 6 25.12.2008 20:18