Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ongelma JavaScriptin replace-funktion kanssa

Olli [29.10.2010 10:15:55]

#

Rupesin tänään kokeilemaan JavaScriptin replace-funktiota. Sain kuitenkin ongelmia aikaan.

Siirry tähän osoitteeseen ja kirjoita seuraava selaimen osoiteriville

javascript:var sku=location.href;sku.replace("http:/www.dealextreme.com/forums/Forums.dx/Forum", "");sku.replace("/~~threadid.[0-9]/i", "");alert(sku);

Kokeilin sekä FF:llä että Chromella, mutta kummillakin alertin sisällöksi tulee

http://www.dealextreme.com/forums/Forums.dx/Forum.24~threadid.739338

Sisällöksi pitäisi tulla 24, osaisitteko auttaa.. kiitos!

Metabolix [29.10.2010 12:50:36]

#

Replace ei muuta tekstiä itseään vaan palauttaa uuden tekstin.

var x = "hei";
var y = x.replace(/e/, "i");
alert(x); // hei
alert(y); // hii

Olli [29.10.2010 12:56:08]

#

Kiitos vastauksesta,
miksei tämä kuitenkaan edelleenkään toimi:

javascript:sku1=location.href;sku2=sku1.replace("http:/www.dealextreme.com/forums/Forums.dx/Forum", "");sku=sku2.replace("/~~threadid.[0-9]/i", "");alert(sku);

Metabolix [29.10.2010 13:13:07]

#

Millä tavalla ei toimi? Koodi tekee varmasti juuri sen, mitä olet siihen kirjoittanut. Harmi vain, että osoite ei ala http:/www eikä loppupuolella ole kuin yksi ~-merkki, ja lisäksi korvauksesi poistaa viimeisestä numerosarjasta vain ensimmäisen numeromerkin. Tekisit siis viisaasti, jos kirjoittaisit lausekkeesi huolellisemmin.

Miten olisi tällainen paljon yksinkertaisempi lauseke:

alert(location.href.replace(/.*?(\d+)~.*/, '$1'));

Olli [29.10.2010 13:18:01]

#

Katsopas, vain kiitos paljon!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta