2015-02-11 91 views
-2

嗨,我是新的JavaScript之前,我阅读使用该功能的情况下拆分。我只是遵循,但没有理解它。你们能给我一个链接或指导来解释它是如何工作的吗? tks a tonjavascript拆分URL超链接

var first = getUrlVars()["id"]; 
var second = getUrlVars()["page"]; 

function getUrlVars() { 
    var vars = {}; 
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
     vars[key] = value; 
    }); 
    return vars; 
} 
+1

我不明白问题是什么 – 2015-02-11 09:18:34

+0

你想知道什么? [split](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)是一种不同的功能,您可以使用。 – putvande 2015-02-11 09:19:06

+0

可能的重复http://stackoverflow.com/questions/5448545/how-to-retrieve-get-parameters-from-javascript – 2015-02-11 09:20:19

回答

1

该函数从url返回每个varrian的值。

在你的代码中,你想从url获取id,page。我来宾你有一个像这样的网址:你的网页? ID =值& 页面 =值,你想得到它们,不是吗?

您需要在http://www.w3schools.com/jsref/jsref_replace.asp

+0

男士们!了解。但什么是“[?&] +([^ =&] +)=([^&]”的意思? – 2015-02-11 09:32:21

+0

呵呵,阅读http://www.w3schools.com/charsets/ref_html_symbols.asp和一些相关的HTML字符集 – 2015-02-11 09:47:21

0

读取替换功能还有一种功能,你想。希望你能明白这一点:

var getUrlVars = function(url){ 
    if(!url.match(/\?/)) return {}; 
    var paramsfull = url.replace(/^.*\?/, "").split(/\&/g); 
    var params = {}; 
    var _temp; 
    for(var p in paramsfull){ 
     _temp = paramsfull[ p ].split(/\=/); 
     params[ _temp[ 0 ] ] = _temp[ 1 ]; 
    } 
    return params; 
} 

var first = getUrlVars(window.location.href)[ "id" ]; 
var second = getUrlVars(window.location.href)[ "page" ];