Autor Zpráva
Jupíí
Profil
Dobrý den.
Měl bych otázku. Mám formulář
<form name="frm">
<inpu type="input" name="input">
<button onClick="tadynecobude()">Zakoduj</button>
</form>
 


A já bych potřeboval, že písmeno A je 1, B je 2, atd... a když do toho formůláře napíšu ABCD tak aby mi to napsalo kód je : 1-2- 3-4
A pak říc že nezera je 0 A napsat tam třeba AHOJ LIDI a ono by mi to vyhodilo 1-8-12-11-0-13-10-4-10
Předem vám děkuji
Nox
Profil
http://www.jakpsatweb.cz/javascript/objekt-string.html
třeba:
zdroj=" ABCDEFGHIJKLMNOPQRSTUVWXYZ" (mezera na začátku)
text=document.forms["frm"]["nazev_inputu"].value;
vysledek="";
for(a=0;a<text.length;a++){
vysledek.=text.indexOf(zdroj.substr(a,1))+"-";
}
vysledek=vysledek.substring(0,vysledek.length-1);
los
Profil *
function encode(text) {
    var result = [];
    text = text.toUpperCase().replace(/[^A-Z]/g, String.fromCharCode(64));

    for (var i = 0; i < text.length; ++i)
        result[i] = text.charCodeAt(i) - 64;

    return result.join("-");
}

encode("AHOJ LIDI") == "1-8-15-10-0-12-9-4-9";
Jupíí
Profil
Nox
los
A co si mám vybrat??
Jupíí
Profil
Nox
To je to co jsme hledal ale co kdybych nechtěl dát že A = 1 B2 ale třeba ža A = Pepa B=Ohoj to by se muselo poupravit jinak díky
vertigo4
Profil
Jupíí
pak bys to řešil třeba přes pole
Nox
Profil
Jupíí
To bys musel poupravit oboje...jinak to losovo vypadá víc profi;)
To moje ale snad funguje taky

Jj, jak píše vertigo, protože obě tyhle řešení využívají toho, že se písmeno
převádí na své pořadí v abecedě/ascii a ne na cokoliv
Jupíí
Profil
vertigo4

To pole by mělo vypadat nějak takto???

var pole1 = new Array ("A", "B", "C","atd..... " => "Pepa", "Beta", "Ahoj" )

Takhle je to nějak v php ale to já nechci a nemůžu
vertigo4
Profil
Jupíí
a co to třeba vyzkoušet?

zkus se podívat zde, jak je vyřešený překladač morseovky
http://www.pcsvet.cz/art/article.php?id=4575
Nox
Profil
Tak pokud nechceš;)
Šlo by to přes dvě (zpracování je pak podle mého skriptu, protože v něm se líp vyznám než v losově)
var pole_zdroj = new Array ("A","B","C"...);
var pole_cil = new Array ("Anička","Bára","Cecílie"...)

vysledek = pole_cil[pole_zdroj.indexOf(text.substr(a,1))];

Aha, mmnt, indexOf nehledá v poli, musim chvilku přemýšlet;)

No určitě existuje něco jako search nebo tak pro hledání v řetězcích, omrkni google

Ale možnost jednoho pole např kod["B"]="Letadlo" je podle mě mnohem lepší, nevím proč ho nechceš použít
los
Profil *
function encode(text) {
    var result = [];
    var codes = ["medzera", "alfa romeo", "beta karoten", "gama ziarenie", "delta force", ..., "zeta jones"];
    text = text.toUpperCase().replace(/[^A-Z]/g, String.fromCharCode(64));

    for (var i = 0; i < text.length; ++i)
        result[i] = codes[text.charCodeAt(i) - 64];

    return result.join("-");
}
Jupíí
Profil
JJJ už jsem to rozchodil moc mám všem děkuji nevěděl by ještě někdo jak vyřešit toto??

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0