. ... .../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); |
转载于:https://www.cnblogs.com/raindust/archive/2009/01/12/1374393.html