我的字符串在下面的网址中
?type=english&time=today
我希望得到类型和时间的值,并且如下所示:
var str="?type=english&time=today";
var spt =str.split("&");
var typeval =spt[0].split("=")[1];
var timeval =spt[1].split("=")[1];
document.write(" type :"+typeval+" time : "+timeval);
使用javascript获取值的有效方法是什么。
答案 0 :(得分:5)
使用jQuery BBQ's $.deparam
功能。
var str='type=english&time=today',
obj = $.deparam(str),
typeval = obj.type, // 'english'
timeval = obj.time; // 'today'
它适用于各种奇特的URL编码数据结构(参见链接的示例)。
答案 1 :(得分:1)
您可以使用gup函数 - 获取url参数:
function gup( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
答案 2 :(得分:0)
我总是使用这个脚本:
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
然后
var hash = getUrlVars();
alert(hash['type']);
会给'英语'
它很容易适应你想要的东西
答案 3 :(得分:0)
var obj = {},
str = "?type=english&time=today";
$.each(str.split(/&|\?/), function(){
var tmp = this.split('=');
( tmp.length>1 ) && ( obj[ tmp[0] ] = tmp[1] );
})
// obj = { type : 'english', time : 'today' }