【问题标题】:How to get an url contained in query string如何获取包含在查询字符串中的 url
【发布时间】:2013-05-01 06:16:43
【问题描述】:

我希望 javascript 变量成为 url 中 ?url= 后面的内容..

例如:当前的url是

http://mywebsite.com/test/index.html?url=http://www.google.com/

所以变量必须是http://www.google.com/

我试过这个,但它不起作用……为什么?

    var url = document.URL ;
    var appname = url.match(?url=(.+))[1];

谢谢。

【问题讨论】:

  • 使用location.search
  • 应该允许URL参数包含GET args吗?

标签: javascript html url get


【解决方案1】:

我认为以下内容对您有用:

function querystring(key) {
    var query = window.location.search.substring(1);
    var keys = query.split("&");
    for (i = 0; i < keys.length; i++) {
        var values = keys[i].split("=");
        if (values[0] == key) {
            return values[1];
        }
    }
}
var appname = querystring("url");
alert(appname);

【讨论】:

  • 这太复杂了。
【解决方案2】:

试试这个:

var regex = /\?url\=(.+)/;
var appname = regex.exec(url)[1];

甚至更简单:

var appname = /\?url\=(.+)/.exec(url)[1];

【讨论】:

    【解决方案3】:
    var url = location.search.match(/url=([^&]+)&*.*$/)[1]; // http://www.google.com/
    
    location     //location object
     .search     //the search part in location
     .match      //return string according to regex given
      [1]        //second result (result in parenthesis)
    
    //--------Use in a function---------
    
    function getQuery(txt){
        var result = location.search.match(new RegExp(txt + "=([^&]+)&*.*$"));
        return result === null ? undefined : result[1];
    }
    

    http://jsfiddle.net/DerekL/J4FfZ/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      相关资源
      最近更新 更多