Micha: Zeichekette suchen und andere dabei ausschließen

Beitrag lesen

Hallo,

ich suche nach einem regulären Ausdruck um aus einer Adresse nur dann eine ID auszulesen, wenn die Zeichenkette "mode=page" nicht darin vorkommt.

Beispiel: Bei der URL http://example.org/foo/index.php?mode=page&id=4711 soll regExpFID.test(uri) false liefern, da "mode=page" enthalten ist.

Lautet die Adresse ab bspw. http://example.org/foo/index.php?mode=fobar&id=4711, sollte true zurückgegeben werden (sodass ich über regExpFID.exec(url) auch an die ID komme).

Das ermitteln der ID habe ich bisher so gelöst var regExpFID = new RegExp(/[?|&]id=([0-9]+)/);. Dieser Ausdruck schließt aber noch keine Adresse aus. Ist das, was ich vorhabe, in einem Ausdruck überhaupt möglich oder ist eine Lösung zB über indexof bereits gut? Sollte es mit einem reg. Ausdruck gehen, freue ich mich, wenn Ihr mir ein paar Tipps geben könntet.

Mit freundlichem Gruß
Micha