Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.01.2011, 13:24
Аспирант
Отправить личное сообщение для Гугл-мен Посмотреть профиль Найти все сообщения от Гугл-мен
 
Регистрация: 14.12.2010
Сообщений: 68

Переводчик слов
люди пожалуйста вы бы не могли дать простейший переводчик слов допустим человек написал ghbdtn-а ему скритп перевел привет..
Ответить с цитированием
  #2 (permalink)  
Старый 14.01.2011, 14:18
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

<html>
<body>

<input id="enter" />
<input type="button" value="перевести" onclick="perevesti();" />
<br />
<input id="autput" />

<script>
MAP = {
'a' : 'ф',
'b' : 'и',
'c' : 'с',
'd' : 'в',
'e' : 'у',
'f' : 'а'
};
I = document.getElementById('enter');
O = document.getElementById('autput');
function perevesti() {
S = '';
for (var i = 0; i < I.value.length; i++)
{
CHAR = I.value.charAt(i);
LOWER = CHAR.toLowerCase();
if (CHAR == CHAR.toUpperCase())
UPPER = 1;
else
UPPER = 0;
S += LOWER in MAP ? MAP[CHAR.toLowerCase()][UPPER ? 'toUpperCase' : 'toString']() : CHAR;
}
O.value = S;
}
</script>

</body>
</html>


буквы заполните сами. они начинаються с 10-ая строки,разберетесь

Последний раз редактировалось Matre, 14.01.2011 в 14:25.
Ответить с цитированием
  #3 (permalink)  
Старый 14.01.2011, 16:12
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Matre,
Не обижайтесь, если вас конечно это обидит, но ваш код при первом впечатлении как будто был написан 10 лет назад да и причём на ассемблере.
__________________
.
Ответить с цитированием
  #4 (permalink)  
Старый 14.01.2011, 17:53
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

Skipp,
но всетаки положительные сдвиги есть =)
Ответить с цитированием
  #5 (permalink)  
Старый 14.01.2011, 20:18
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Цитата:
Не обижайтесь, если вас конечно это обидит, но ваш код при первом впечатлении как будто был написан 10 лет назад да и причём на ассемблере.
LOL

var map = {
	'a' : 'ф',
	'b' : 'и',
	'c' : 'с',
	'd' : 'в',
	'e' : 'у',
	'f' : 'а'
},
input = document.getElementById('enter'),
output = document.getElementById('autput'),
upper;
function translate() {
	var str = '';
	for (var i = 0; i < input.value.length; i++) {
		var char = input.value.charAt(i),
		lower = char.toLowerCase();
		upper = char == char.toUpperCase();
		str += lower in map ? map[lower][upper ? 'toUpperCase' : 'toString']() : char;
	}
	output.value = str;
}


а так лутше?
хотя назв переменых -не суть
только неговорите что мой коод уг потом учто
конструкция str += lower in map ? map[lower][upper ? 'toUpperCase' : 'toString']() : char; не читаема
Ответить с цитированием
  #6 (permalink)  
Старый 14.01.2011, 20:20
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Сообщение от Matre Посмотреть сообщение
только неговорите что мой коод уг потом учто
конструкция str += lower in map ? map[lower][upper ? 'toUpperCase' : 'toString']() : char; не читаема
Очень даже читаема
Ответить с цитированием
  #7 (permalink)  
Старый 14.01.2011, 20:28
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

я так понимаю-это ирония?
а так:

var appchar;
if (lower in map)
	appchar = map[lower];
else
	appchar = char;
if (upper)
	appchar = appchar.toUpperCase();


если нет-приведите свой вариант
идеального кода
он ведь у вас идеальный
я уверен
Ответить с цитированием
  #8 (permalink)  
Старый 14.01.2011, 20:34
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Matre, да это не ирония, наоборот говорю что грамотно использовал тернарный оператор.
Ответить с цитированием
  #9 (permalink)  
Старый 14.01.2011, 22:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Хмм, имхо - примерно так.
Вводить только слова в нижнем регистре).<br />
<input id="enter" />
<input type="button" value="перевести" />
<input id="autput" />

<script type="text/javascript">
var input=document.getElementsByTagName('input');
var q=' .,mnbvcxz\';lkjhgfdsa][poiuytrewq`ёйцукенгшщзхъфывапролджэячсмитьбю ',l=q.length-1;

input[1].onclick=function(){
  input[2].value=input[0].value.replace(/./g,function(a){return q.charAt(l-q.indexOf(a))})
}
</script>

Естесно нужно разделить русское и буржуйское, replace делать по диапазону, добавить проверку на регистр итд.

Последний раз редактировалось Aetae, 14.01.2011 в 22:15.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск определённых слов в контенте Yellow79 Элементы интерфейса 5 14.05.2010 20:37
Поиск русских слов с помощью \b не проходит Jury Общие вопросы Javascript 2 18.03.2010 12:05
Подсчет количества слов в поле формы. Guranin Общие вопросы Javascript 7 10.08.2009 13:35
Замена слов в тексте Dan T Общие вопросы Javascript 8 18.03.2009 12:36
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07