Merkkien muuttaminen toisiksi

Miten JavaScriptillä lähdettäisiin tekemään toimintoa, joka muuttaa tietyt kirjaimet toisiksi? Esimerkiksi jos j-kirjain muuttuisi numeroksi 8 ja a-kirjain merkiksi @, niin lopputulos olisi 8@. Tarkannan vähän:

Käyttäjä kirjoittaa kenttään sanan "ja". Toiseen kenttään tulee sama muokattuna (j -> 8, a -> @), eli nyt ekassa kentässä, jota käyttäjä muokkaa, lukee "ja" ja tokassa kentässä, joka muuttuu itsestään, lukee "8@". Tarkoitus olisi, että ekaan kenttään voi kirjoittaa pitkääkin tekstiä ja se muokkautuisi toiseen sen mukaan, miten mikäkin merkki vaihtuu. Jos jokin merkki ei ole muokattu, niin se pysyy alkuperäisenä. Toivottavasti ymmärsitte, mitä tarkoitan.

Jos joku tietäjä auttaa, olis kiva.
5317
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat
  • Kiitos nopeasta vastauksesta!

    Rupesin käyttämään tota replacea sillee "kerroksittain". Ongelmana on vaan, että se saattaa sillon muuttaa uudestaan jotain sellasta, joka on muutettu kertaalleen. Sain kuitenkin kierrettyä ongelman vaihtamalla järjestystä ja korvaamalla ensin jotakin jollakin muulla ja sitten vasta sillä, millä alun perin piti. Siinä vaan se, että jos joku nyt menee käyttämään sitä mun varamerkkiä, niin koko teksti menee pieleen (luulisin)... Mutta ei kai se nyt oo niin nuukaa...

    Toinen ongelma: en oo vielä osannut laittaa sitä tekstiä yhtä aikaa toiseen kenttään, joten nyt se toimii siten, että pitää painaa nappulaa ja teksti tulee sellasen "pop-up"-ikkunaan, vai mikä lie nimeltään (alert). No, kelpaa kuitenkin toistaseks, ja toimii loppujen lopuks niin kun alun alkaen pitikin.

    Laitan tätä koodia tähän, jos jollakin olisi jotain huomautettavaa, miten toi menis kävevämmin tai sit vaan jos joku muukin tarttis tätä "tietoo" johonkin.
    --------------------------------------------------------------------------------------------------------------------

    function Nayta()
    {
    teksti0 = document.lomake.alkuteksti.value;
    teksti1=teksti0.replace(/a/g,"%");
    // Täs välis on hirvee liuta noita korvattavia juttuja... Erikseen isoista ja pienistä kirjaimista.
    teksti60=teksti59.replace(/Å/g,"&");
    alert("Käännettynä: " + teksti60);
    }







    --------------------------------------------------------------------------------------------------------------------
    Varmaan ne script-kohat katoaa tuosta, mut ei kai haittaa...

    Äänestä

  • Alottaja 4358046 kirjoitti:

    Kiitos nopeasta vastauksesta!

    Rupesin käyttämään tota replacea sillee "kerroksittain". Ongelmana on vaan, että se saattaa sillon muuttaa uudestaan jotain sellasta, joka on muutettu kertaalleen. Sain kuitenkin kierrettyä ongelman vaihtamalla järjestystä ja korvaamalla ensin jotakin jollakin muulla ja sitten vasta sillä, millä alun perin piti. Siinä vaan se, että jos joku nyt menee käyttämään sitä mun varamerkkiä, niin koko teksti menee pieleen (luulisin)... Mutta ei kai se nyt oo niin nuukaa...

    Toinen ongelma: en oo vielä osannut laittaa sitä tekstiä yhtä aikaa toiseen kenttään, joten nyt se toimii siten, että pitää painaa nappulaa ja teksti tulee sellasen "pop-up"-ikkunaan, vai mikä lie nimeltään (alert). No, kelpaa kuitenkin toistaseks, ja toimii loppujen lopuks niin kun alun alkaen pitikin.

    Laitan tätä koodia tähän, jos jollakin olisi jotain huomautettavaa, miten toi menis kävevämmin tai sit vaan jos joku muukin tarttis tätä "tietoo" johonkin.
    --------------------------------------------------------------------------------------------------------------------

    function Nayta()
    {
    teksti0 = document.lomake.alkuteksti.value;
    teksti1=teksti0.replace(/a/g,"%");
    // Täs välis on hirvee liuta noita korvattavia juttuja... Erikseen isoista ja pienistä kirjaimista.
    teksti60=teksti59.replace(/Å/g,"&");
    alert("Käännettynä: " + teksti60);
    }







    --------------------------------------------------------------------------------------------------------------------
    Varmaan ne script-kohat katoaa tuosta, mut ei kai haittaa...

    ...Ja form-hommatkin katos. :D

    T. Aloittaja

    Äänestä

  • Katoamistemppuilija kirjoitti:

    ...Ja form-hommatkin katos. :D

    T. Aloittaja

    Edistystä. Sain sen ulkoasun vastaamaan suunniteltua jollain tällasella:
    ---------------------------------------------------------------------------------------------------------------------------------


    f*unction Kaanna()
    {
    teksti0 = document.LOMAKKEENNIMI.EKAKENTTÄ.value;
    teksti1=teksti0.replace(/KORVATTAVA1/g,"KORVAUS1");
    // ...LIUTA...
    teksti60=teksti59.replace(/KORVATTAVA60/g,"KORVAUS60);
    document.generaattori.TOKAKENTTÄ.value = teksti60
    }









    ---------------------------------------------------------------------------------------------------------------------------------
    (Lisäsin tonne sekaan tähtiä siinä toivossa, että ehkä osa ei sitten katoais.

    http://www.ohjelmointiputka.net/opas.php?tunnus=js_06

    Äänestä

  • ertrytyuiAlottaja kirjoitti:

    Edistystä. Sain sen ulkoasun vastaamaan suunniteltua jollain tällasella:
    ---------------------------------------------------------------------------------------------------------------------------------


    f*unction Kaanna()
    {
    teksti0 = document.LOMAKKEENNIMI.EKAKENTTÄ.value;
    teksti1=teksti0.replace(/KORVATTAVA1/g,"KORVAUS1");
    // ...LIUTA...
    teksti60=teksti59.replace(/KORVATTAVA60/g,"KORVAUS60);
    document.generaattori.TOKAKENTTÄ.value = teksti60
    }









    ---------------------------------------------------------------------------------------------------------------------------------
    (Lisäsin tonne sekaan tähtiä siinä toivossa, että ehkä osa ei sitten katoais.

    http://www.ohjelmointiputka.net/opas.php?tunnus=js_06

    Osa katos silti. Joo, eli tost pätkäst ei oo mitää hyötyy. :D

    Äänestä

Kommentoi aloitusta


Mitään osaava kirjoitti:

Miten JavaScriptillä lähdettäisiin tekemään toimintoa, joka muuttaa tietyt kirjaimet toisiksi? Esimerkiksi jos j-kirjain muuttuisi numeroksi 8 ja a-kirjain merkiksi @, niin lopputulos olisi 8@. Tarkannan vähän:

Käyttäjä kirjoittaa kenttään sanan "ja". Toiseen kenttään tulee sama muokattuna (j -> 8, a -> @), eli nyt ekassa kentässä, jota käyttäjä muokkaa, lukee "ja" ja tokassa kentässä, joka muuttuu itsestään, lukee "8@". Tarkoitus olisi, että ekaan kenttään voi kirjoittaa pitkääkin tekstiä ja se muokkautuisi toiseen sen mukaan, miten mikäkin merkki vaihtuu. Jos jokin merkki ei ole muokattu, niin se pysyy alkuperäisenä. Toivottavasti ymmärsitte, mitä tarkoitan.

Jos joku tietäjä auttaa, olis kiva.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu