07.01.2016, 13:29
|
Аспирант
|
|
Регистрация: 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)
Подскажите, кто в курсе как быть?
|
|
07.01.2016, 13:59
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
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('###Фигня# #вопрос'));
|
|
07.01.2016, 15:09
|
Аспирант
|
|
Регистрация: 28.09.2009
Сообщений: 49
|
|
Спасибо!!!
|
|
|
|