Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery获取url参数并输入_Javascript_Jquery Validate - Fatal编程技术网

Javascript 使用jquery获取url参数并输入

Javascript 使用jquery获取url参数并输入,javascript,jquery-validate,Javascript,Jquery Validate,我正试图从一个url(如www.internets.com?param=123456)中获取一个特定的参数 我正试着用这样的东西 $j.extend({ getUrlVars: function(){ return window.location.href.slice(window.location.href.indexOf('?')).split(/[&?]{1}[\w\d]+=/); } }); var allVars = $j.getUrlVars('param');

我正试图从一个url(如www.internets.com?param=123456)中获取一个特定的参数

我正试着用这样的东西

$j.extend({
  getUrlVars: function(){
   return window.location.href.slice(window.location.href.indexOf('?')).split(/[&?]{1}[\w\d]+=/);
  }
});
var allVars = $j.getUrlVars('param');
奇怪的是变量返回了一个逗号,所以在这个例子中,它看起来像123456


那是从哪里来的

split
返回一个子字符串数组,因此逗号来自数组的序列化。

您要求javascript根据正则表达式中的规则将字符串拆分为一个数组,因此字符串“?param=123456”变成一个数组,其中直到=的所有内容都只是一个分隔符,因此它看到两个键:一个空字符串和123456

编辑-您仍然可以使用拆分,只需使用不同的分隔符即可。indexOf告诉它查看“?”位置后的子字符串,因此如果在“=”上拆分,它将提供一个数组,其中一个值是参数名(可能带有“?”或“&”,所以只需删除它),下一个值是在等号后发送的值

您还可以使用正则表达式进行更深入的处理,如下所示:

var q = window.location.search; // returns everything after '?'
var regEx = /[^?& =]([\w]*)[^!?& =]/g;
var array = q.match(regEx);
var vars = new Array();
for (var i = 0; i < array.length; i++) {
    if ((i % 2) == 0) {
        vars[array[i]] = array[i + 1];
    }
}
var q=window.location.search;//返回在“?”之后的所有内容
var regEx=/[^?&=]([\w]*)[^!?&=]/g;
var数组=q.match(regEx);
var vars=新数组();
对于(var i=0;i
这将给您留下一个数组,其中键是参数名,它们的值是查询字符串中的关联值

看看这里:


这似乎对我有用。

谢谢。。。我确实尝试过,但它只为我返回参数的名称,因此在本例中,param。。但不是123的值。哦,好的。。谢谢你知道写这篇文章的正确方法是什么吗?考虑到你已经拥有的,最简单的方法是在结尾加上
[1]
(如果你想要第一个参数),例如
window.location.href.indexOf('?').split(/[&]{1}[\w\d]+=/)[1]
查看我修改过的评论。下面Emmett的解决方案是最简单的,所以请使用最适合您的方法,同时不要让代码负担过重。