Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.03.2011, 18:51
Аспирант
Отправить личное сообщение для severmsk Посмотреть профиль Найти все сообщения от severmsk
 
Регистрация: 30.10.2010
Сообщений: 42

помогите начинающему!
осваиваю js поэтому не судите строго имею такой документ, в аптане все работает, но стоит загрузить страничку в браузер (мозила)- все идет крахом! не работает так, как надо! а в гугл хром вообще даже не запускается. сия идея в том, чтобы указанные буквы менялись на указанные цифры. в чем ошибка?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=uft-8">
<script language="JavaScrypt" type="text/javascript">
function perevod()
{
var slovo = document.mail.vvod.value;
var а = /а/gi;
var б=/б/gi;
var в=/в/gi;
var г=/г/gi;
var д=/д/gi;
var е=/е/gi;
var ж=/ж/gi;
var з=/з/gi;
var и=/и/gi;
slovo = slovo.replace(а, "13.");
slovo = slovo.replace(б, "44.");
slovo = slovo.replace(в, "25.");
slovo = slovo.replace(г, "23.");
slovo = slovo.replace(д, "152.");
slovo = slovo.replace(е, "77.");
slovo = slovo.replace(ж, "154.");
slovo = slovo.replace(з, "220.");
slovo = slovo.replace(и, "432.");
document.write(slovo);
}
function reperevod()
{
var slovo = document.mail.vvod.value;
var aa = /13./gi;
var bb=/44./gi;
var v=/25./gi;
var g=/23./gi;
var d=/152./gi;
var e=/77./gi;
var zh=/154./gi;
var z=/220./gi;
var i=/432./gi;
slovo = slovo.replace(aa,"а");
slovo = slovo.replace(bb,"б");
slovo = slovo.replace(v,"в");
slovo = slovo.replace(g,"г");
slovo = slovo.replace(d,"д");
slovo = slovo.replace(e,"е");
slovo = slovo.replace(zh,"ж");
slovo = slovo.replace(z,"з");
slovo = slovo.replace(i,"и");
document.write(slovo);
}
</script>
</head>
<body>
<form name="mail">
<input type="text" name="vvod">
<input type="button" value="replace" onclick="perevod()">
<input type="button" value="rereplace" onclick="reperevod()">
</form>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2011, 19:16
Аспирант
Отправить личное сообщение для severmsk Посмотреть профиль Найти все сообщения от severmsk
 
Регистрация: 30.10.2010
Сообщений: 42

разобрался! проблема с кодировкой. этот документ открыл в блокноте, поменял кодировку на windows-1251 и сохранил конец как windows (у меня линукс). но теперь другой вопрос: как можно весь этот код упростить?
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2011, 19:31
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

String.prototype.replaceMap = function (data) {
	var result = this;
	for (var i in data)
		if (data.hasOwnProperty(i))
			result = result.replace(new RegExp(i, "gi"), data[i]);
	return result;
};

var a = "абв";
a = a.replaceMap({
	"а" : "1",
	"б" : "2",
	"в" : "3"
});
alert(a);
Ответить с цитированием
  #4 (permalink)  
Старый 17.03.2011, 19:59
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Накой огород городить?

function replace(str,dic,regexp){
	return str.replace( regexp||/./g , function(a){return dic[a]||a} )
}
var down={
'13.':'a',
'44.':'б',
'25.':'в',
'152.':'д',
'77.':'е',
'154.':'ж',
'220.':'з',
'432.':'и'
};
var up={};
for(var i in down)up[down[i]]=i; //можно и вручную - мне лень было писать.



var string='девиз';
alert(string);

string = replace(string,up);
alert(string);

string = replace(string,down,/\d+\./g);
alert(string);
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 17.03.2011, 20:15
Аспирант
Отправить личное сообщение для severmsk Посмотреть профиль Найти все сообщения от severmsk
 
Регистрация: 30.10.2010
Сообщений: 42

да.... познаний мне и познаний....спасибо вам конечно, только понимаю я суть написанного с трудом чайник я еще. буду совершенствоваться дальше. а как сии функции прикрутить к кнопке? и чтоб обратно раскодировать?
Ответить с цитированием
  #6 (permalink)  
Старый 17.03.2011, 20:56
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

onclick(нужная_функция_для_выз ва()
только если ты меняешь буквы по клику то тебе нужно указывать где именно ты собираешься менять эти буквы.
то есть используешь тот же document.getElementById('div_elem')
в которой записана строчка с буквами и в ней делаешь replace
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите начинающему komisvadim Общие вопросы Javascript 6 20.02.2011 21:53
Помогите разобраться!!! Greendumb Общие вопросы Javascript 8 19.08.2010 14:04
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Помогите начинающему! robober Сайт Javascript.ru 7 08.01.2010 13:29
Помогите начинающему программисту ;) druna Общие вопросы Javascript 5 22.07.2008 12:34