Показать сообщение отдельно
  #11 (permalink)  
Старый 27.07.2012, 23:18
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

function toTranslit( text ) {
	return text.replace( /([а-яё])/gi, function( all, char ) {
		var code = char.charCodeAt(0),
			index = code == 1025 || code == 1105 ? 0 : code > 1071 ? code - 1071 : code - 1039,
			t = ['yo','a','b','v','g','d','e','zh','z','i','y','k','l','m','n','o','p',
			'r','s','t','u','f','h','c','ch','sh','shch','','y','','e','yu','ya'];

		return char.toUpperCase() === char ? t[ index ].toUpperCase() : t[ index ];
	});
}

alert( toTranslit( "абвгдеёжзийклмнопрстуфхцчшщъыьэюя АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" ) );

alert( toTranslit( "Доброго времени суток, столкнулся с определенной задачей решение которой не смог придумать сам" ) );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием