您的位置:首页 > Web前端 > JavaScript

利用 Javascript 获取 URL 参数(适合IE、FF)

2008-07-30 11:57 417 查看
  ... .../test.html?str=123456

如何用Javascript接收类似上面的url参数呢?这个问题网上有很多答案,看了看,主要有两种,一个是利用字符串的截取,另一种是利用正则表达式。

正则式

function QueryString(item){

var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"))

return sValue?sValue[1]:sValue

}

alert(QueryString('str'));

不足就是每次只能选一个参数,当然了,你也可以修改下上面脚本,为 QueryString(item) 函数添加一个参数,例如:QueryString(item,pos) ,不过还要修改相应表达式,较为麻烦,而且没有下面这种方法灵活。

字符串(摘自:《JavaScript: The Definitive Guide, 5th Edition》)

function getArgs( ) {

var args = new Object( );

var query = location.search.substring(1); // Get query string

var pairs = query.split("&"); // Break at ampersand

for(var i = 0; i < pairs.length; i++) {

var pos = pairs[i].indexOf('='); // Look for "name=value"

if (pos == -1) continue; // If not found, skip

var argname = pairs[i].substring(0,pos); // Extract the name

var value = pairs[i].substring(pos+1); // Extract the value

value = decodeURIComponent(value); // Decode it, if needed

args[argname] = value; // Store as a property

}

return args; // Return the object

}

alert(getArgs()['str']);



alert(getArgs().str);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: