Martin: mit match() nach dem Inhalt einer Variablen suchen

Beitrag lesen

Tag allerseits!

Bitte nicht steinigen, ich habe zwar die Lösung für mein Problem gefunden, aber ich verstehe sie nicht :(

Das Folgende hat nicht funktioniert:

var sURL = "http://www.example.com/index.htm?var=1";
var sSuchString = "http://"+window.location.hostname+"/index.htm?var=1";

if(sURL.match(sSuchString)){
 alert(sSuchString)
}

Aha, hab ich gedacht, das Fragezeichen muss maskiert werden. Also:

var sSuchString = "http://"+window.location.hostname+"/index.htm?var=1";

Hat auch nicht geklappt. Dann hab ich einfach geraten:

var sSuchString = "http://"+window.location.hostname+"/index.htm\?var=1";

Das klappt. Aber warum?

Wenn ich ohne Stringvariable nach einem Ausdruck suchen würde, würde ich doch so suchen:

if(sURL.match(/http://www.example.com/index.htm?var=1/))

Ich müsste die Slashes maskieren und das Fragezeichen nur einmal.

Gruß und Dank

Martin