485 Stimmen

Wie kann man prüfen, ob die URL eine bestimmte Zeichenfolge enthält?

Wie könnte ich so etwas tun?

<script type="text/javascript">
$(document).ready(function () {
    if(window.location.contains("franky")) // This doesn't work, any suggestions?
    {
         alert("your url contains the name franky");
    }
});
</script>

4 Stimmen

"window.location.contains is not a function"

848voto

J.W. Punkte 17431

Sie müssen die Eigenschaft href hinzufügen und prüfen indexOf 代わりに contains

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    if (window.location.href.indexOf("franky") > -1) {
      alert("your url contains the name franky");
    }
  });
</script>

130voto

NickFitz Punkte 33461
if (window.location.href.indexOf("franky") != -1)

würde es tun. Alternativ können Sie auch eine Regexp verwenden:

if (/franky/.test(window.location.href))

37voto

Sarfraz Punkte 366217

Sie würden verwenden indexOf wie diese:

if(window.location.href.indexOf("franky") != -1){....}

Beachten Sie auch die Hinzufügung von href für die Zeichenfolge, die Sie sonst verwenden würden:

if(window.location.toString().indexOf("franky") != -1){....}

33voto

Alin Purcaru Punkte 41895

window.location ist kein String, sondern hat eine toString() Methode. Sie können es also so machen:

(''+window.location).includes("franky")

o

window.location.toString().includes("franky")

Von der alte Mozilla-Dokumente :

L Methode, die die aktuelle URL zurückgibt. Sie können auch eine Zeichenkette zuweisen window.location zuweisen. Das bedeutet, dass Sie mit window.location arbeiten können, als wäre es in den meisten Fällen eine Zeichenkette wäre. Manchmal, zum Beispiel wenn Sie [ ] müssen Sie explizit toString aufrufen.

25voto

Adrian Gonzales Punkte 990

Etwa so:

    <script type="text/javascript">
        $(document).ready(function () {
            if(window.location.href.indexOf("cart") > -1) 
            {
                 alert("your url contains the name franky");
            }
        });
    </script>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X