- 1
- 2
- 3
- 4
- 5
- 6
var rus = new String("йцукенгшщзфывапролдячсмитьЙЦУКЕНГШЩЗФЫВАПРОЛДЯЧСМИТЬ");
var eng = new String("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM");
for (var i in rus) {
reg = new RegExp(rus[i], 'g');
pass = pass.replace(reg, eng[i]);
}
Можно все упростить и заюзать хэш, конечно. Я сильно неправ?
Этот способ достаточно быстр (при замене символа никакие методы не вызываются), хоть и памяти будет расходовать немного больше из-за хэша. (Но кого сейчас это волнует?)
Но мы же знаем javascript..
r={}
for(var i = 0, array = []; i < 58; i++) r[rus[i]]= eng[i];
А самое интересное, что "ё" вашей регуляркой не ловится.
'йцукенЁЖ' - > 'qwertyЁundefined' нормально?
Судя по количеству и разнообразию велосипедов - нет.
http://obvcode.blogspot.com/2008/05/strtr-for-javascript.html
разные вещи какбэ