在两个页面间通过url传参的时候,需要获取传递的查询字符串,例如获取下面url的名称对应的值:
www.baidu.com/img?name=lili&年龄=18,学校=81
有两种方法,一是用数组分割()为主的拆分,二是用正则表达式的拆分。
1数组拆分:
<代码>函数getQueryStringArgs () { var qs=(location.search。长度比;0 ?location.search.substring (1): "); args={}, 项=qs。长度呢?qs.split(”和“):[], 项=零, name=零, 值=https://www.yisu.com/zixun/null 我=0, len=items.length; (我=0;我<兰;我+ +){ 项=items.split ("="); name=decodeURIComponent(项目[0]); 值=https://www.yisu.com/zixun/decodeURIComponent(项目[1]); 如果(name.length) { args[名字]=价值; } } 返回参数; }代码>
2正则表达式:
<代码>函数getQuery(名字){ var reg=new RegExp(”(^ |,)“+名字+”=((^和)*)(和| $)”), str=window.location.search.substr (1) .match(注册); 如果(str !==null) { 返回unescape (str [2]); } 返回null; }代码>
3自己写的:反面案例)
<代码>函数getQuery () { var搜索=location.search.substring (1), queryArr=search.split (', '), obj; (var=0, len=queryArr.length;我& lt;兰;我+ +){ var str=queryArr.split ('='); obj [str [0]]=str [1]; } 返回obj; }代码>
1是参考js高级程序设计P207页。