Javascript, zašifrování textu z Textarea
Už jsem sem psala jednou, ale nějak mi to pořád nefunguje. Pomůže mi někdo prosím? Potřebuju to opravdu nutně do školy. Neumím to prostě sestavit dohromady. Nemohl by mi to někdo napsat jak to mám být od začátku až do konce? Celé to tělo? Já jsem už vážně zoufalá a tohle je snad moje poslední šance.
Text vložený uživatelem do TEXTAREA zašifrujte do druhé TEXTAREA tak, že znaky A-Z nahradíte znaky Z-A a znaky a-z znaky z-a, ostatní znaky nechte beze změny. Teprve v okamžiku zobrazení zakodovaného textu zpřístupníte uživateli další push-button, po jehož stisknutí zašifrovaný text rozšifrujete do třetí TEXTAREA.
Text vložený uživatelem do TEXTAREA zašifrujte do druhé TEXTAREA tak, že znaky A-Z nahradíte znaky Z-A a znaky a-z znaky z-a, ostatní znaky nechte beze změny. Teprve v okamžiku zobrazení zakodovaného textu zpřístupníte uživateli další push-button, po jehož stisknutí zašifrovaný text rozšifrujete do třetí TEXTAREA.
Odpovědi
Diskuze
<head>
<script>
function prevest () {
retezec = document.all.text1.value;
while (retezec.search("z")!=-1) {
retezec = retezec.replace("z", "#");
}
while (retezec.search("a")!=-1) {
retezec = retezec.replace("a", "z");
}
while (retezec.search("#")!=-1) {
retezec = retezec.replace("#", "a");
}
while (retezec.search("Z")!=-1) {
retezec = retezec.replace("Z", "#");
}
while (retezec.search("A")!=-1) {
retezec = retezec.replace("A", "Z");
}
while (retezec.search("#")!=-1) {
retezec = retezec.replace("#", "A");
}
document.all.text2.value = retezec;
}
function zpet () {
retezec = document.all.text2.value;
while (retezec.search("z")!=-1) {
retezec = retezec.replace("z", "#");
}
while (retezec.search("a")!=-1) {
retezec = retezec.replace("a", "z");
}
while (retezec.search("#")!=-1) {
retezec = retezec.replace("#", "a");
}
while (retezec.search("Z")!=-1) {
retezec = retezec.replace("Z", "#");
}
while (retezec.search("A")!=-1) {
retezec = retezec.replace("A", "Z");
}
while (retezec.search("#")!=-1) {
retezec = retezec.replace("#", "A");
}
document.all.text3.value = retezec;
}
</script>
</head>
<body>
<textarea name="text1">Sem vepište text, který chcete převést</textarea>
<textarea name="text2">Sem se text převede</textarea>
<textarea name="text3">Zde se objeví opět dekódovaný text</textarea>
<input type="button" onclick="prevest()" value="Převeď">
<input type="button" onclick="zpet()" value="Dekoduj">
</body>
</html>
Rozepisovat to by asi nebylo vnímáno při hodnocení dobře, elegantnější by bylo pro převod používat nějaká indexovaná pole, či jak se tomu říká.
<html>
<head>
<script>
function prevest () {
retezec = document.all.text1.value;
novyRetezec = ""
malaPismena = "aábcčdďeéfghiíjklmnoópqrřsštťuúůvwxyýzž";
velkaPismena = "AÁBCČDĎEÉFGHIÍJKLMNOÓPQRŘSŠTŤUÚŮVWXYÝZŽ";
while (retezec.length>0) {
znak = retezec.slice(0,1);
if (malaPismena.search(znak)!=-1) {
znak = malaPismena[malaPismena.length-malaPismena.search(znak)-1];
}
if (velkaPismena.search(znak)!=-1) {
znak = velkaPismena[velkaPismena.length-velkaPismena.search(znak)-1];
}
novyRetezec += znak;
retezec = retezec.slice(1, retezec.length);
}
document.all.text2.value = novyRetezec;
}
function zpet () {
retezec = document.all.text2.value;
novyRetezec = ""
malaPismena = "aábcčdďeéfghiíjklmnoópqrřsštťuúůvwxyýzž";
velkaPismena = "AÁBCČDĎEÉFGHIÍJKLMNOÓPQRŘSŠTŤUÚŮVWXYÝZŽ";
while (retezec.length>0) {
znak = retezec.slice(0,1);
if (malaPismena.search(znak)!=-1) {
znak = malaPismena[malaPismena.length-malaPismena.search(znak)-1];
}
if (velkaPismena.search(znak)!=-1) {
znak = velkaPismena[velkaPismena.length-velkaPismena.search(znak)-1];
}
novyRetezec += znak;
retezec = retezec.slice(1, retezec.length);
}
document.all.text3.value = novyRetezec;
}
</script>
</head>
<body>
<textarea name="text1">Sem vepište text, který chcete převést</textarea>
<textarea name="text2">Sem se text převede</textarea>
<textarea name="text3">Zde se objeví opět dekódovaný text</textarea>
<input type="button" onclick="prevest()" value="Převeď">
<input type="button" onclick="zpet()" value="Dekoduj">
</body>
</html>
Omlouvam se, že sem napoprvé nepochopil zadání, tohle už by ti snad mohlo vyhovovat
<html>
<head>
<script>
function prevest () {
retezec = document.all.text1.value;
novyRetezec = ""
malaPismena = "aábcčdďeéfghiíjklmnoópqrřsštťuúůvwxyýzž";
velkaPismena = "AÁBCČDĎEÉFGHIÍJKLMNOÓPQRŘSŠTŤUÚŮVWXYÝZŽ";
while (retezec.length>0) {
znak = retezec.slice(0,1);
if (malaPismena.search(znak)!=-1) {
znak = malaPismena.charAt(malaPismena.length-malaPismena.search(znak)-1);
}
else {
if (velkaPismena.search(znak)!=-1) {
znak = velkaPismena.charAt(velkaPismena.length-velkaPismena.search(znak)-1);
}
}
novyRetezec += znak;
retezec = retezec.slice(1, retezec.length);
}
document.all.text2.value = novyRetezec;
}
function zpet () {
retezec = document.all.text2.value;
novyRetezec = ""
malaPismena = "aábcčdďeéfghiíjklmnoópqrřsštťuúůvwxyýzž";
velkaPismena = "AÁBCČDĎEÉFGHIÍJKLMNOÓPQRŘSŠTŤUÚŮVWXYÝZŽ";
while (retezec.length>0) {
znak = retezec.slice(0,1);
if (malaPismena.search(znak)!=-1) {
znak = malaPismena.charAt(malaPismena.length-malaPismena.search(znak)-1);
}
else {
if (velkaPismena.search(znak)!=-1) {
znak = velkaPismena.charAt(velkaPismena.length-velkaPismena.search(znak)-1);
}
}
novyRetezec += znak;
retezec = retezec.slice(1, retezec.length);
}
document.all.text3.value = novyRetezec;
}
</script>
</head>
<body>
<textarea name="text1">Sem vepište text, který chcete převést</textarea>
<textarea name="text2">Sem se text převede</textarea>
<textarea name="text3">Zde se objeví opět dekódovaný text</textarea>
<input type="button" onclick="prevest()" value="Převeď">
<input type="button" onclick="zpet()" value="Dekoduj">
</body>
</html>