如何使用jquery检测当前URL的一部分?

时间:2015-09-24 13:20:42

标签: jquery

是否可以使用jquery检测当前网址的值?

例如:

http://example.com/home.php?name=john

从这个网址我需要知道name == john:

  $(document).ready(function() {
      if (window.location.name == john)
        alert("my name is john");
    });

2 个答案:

答案 0 :(得分:1)

您可以尝试在字符串中使用indexOf()来查找要检查的字符串。

$(document).ready(function() {
    if (location.search.indexOf('name=john') !== -1)
        alert("my name is john");
});

这种方式非常基础,并未涵盖所有可能性。

如果您确实想要获取URL变量,请使用

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

并按getParameterByName('name') == 'john'检查。

答案 1 :(得分:1)

试试这个

function GetQueryStringParams(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}​

假设URL为

,这就是你可以使用这个函数的方法

http://dummy.com/?technology=jquery&blog=jquerybyexample

var tech = GetQueryStringParams('technology');
var blog = GetQueryStringParams('blog');

Courtsey