admin 发表于 2023-3-2 19:25:42

JavaScript获取url参数

<p>Location 对象包含有关当前 URL 的信息。</p>
<p>Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。</p>
<div class="codecolorer-container javascript vibrant" style="overflow:auto;white-space:nowrap;width:700px;height:400px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br>32<br></div></td><td><div class="javascript codecolorer">用JS获取地址栏参数的方法<br>
<span class="kw1">function</span> GetQueryString<span class="br0">&#40;</span>name<span class="br0">&#41;</span><br>
<span class="br0">{</span><br>
&nbsp; &nbsp; &nbsp;<span class="kw1">var</span> reg <span class="sy0">=</span> <span class="kw1">new</span> RegExp<span class="br0">&#40;</span><span class="st0">&quot;(^|&amp;amp;)&quot;</span><span class="sy0">+</span> name <span class="sy0">+</span><span class="st0">&quot;=([^&amp;amp;]*)(&amp;amp;|$)&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br>
&nbsp; &nbsp; &nbsp;<span class="kw1">var</span> r <span class="sy0">=</span> window.<span class="me1">location</span>.<span class="me1">search</span>.<span class="me1">substr</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="br0">&#41;</span>.<span class="me1">match</span><span class="br0">&#40;</span>reg<span class="br0">&#41;</span><span class="sy0">;</span><span class="co1">//search,查询?后面的参数,并匹配正则</span><br>
&nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>r<span class="sy0">!=</span><span class="kw2">null</span><span class="br0">&#41;</span><span class="kw1">return</span> &nbsp;unescape<span class="br0">&#40;</span>r<span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">return</span> <span class="kw2">null</span><span class="sy0">;</span><br>
<span class="br0">}</span><br>
&nbsp;<br>
<span class="co1">// 调用方法</span><br>
alert<span class="br0">&#40;</span>GetQueryString<span class="br0">&#40;</span><span class="st0">&quot;参数名1&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br>
alert<span class="br0">&#40;</span>GetQueryString<span class="br0">&#40;</span><span class="st0">&quot;参数名2&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br>
alert<span class="br0">&#40;</span>GetQueryString<span class="br0">&#40;</span><span class="st0">&quot;参数名3&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br>
下面举一个例子<span class="sy0">:</span><br>
&nbsp;<br>
若地址栏URL为:abc.<span class="me1">html</span><span class="sy0">?</span>id<span class="sy0">=</span><span class="nu0">123</span><span class="sy0">&amp;</span>amp<span class="sy0">;</span>url<span class="sy0">=</span>http<span class="sy0">:</span><span class="co1">//www.maidq.com</span><br>
&nbsp;<br>
那么,但你用上面的方法去调用:alert<span class="br0">&#40;</span>GetQueryString<span class="br0">&#40;</span><span class="st0">&quot;url&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br>
&nbsp;<br>
则会弹出一个对话框:内容就是 http<span class="sy0">:</span><span class="co1">//www.maidq.com</span><br>
&nbsp;<br>
如果用:alert<span class="br0">&#40;</span>GetQueryString<span class="br0">&#40;</span><span class="st0">&quot;id&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>那么弹出的内容就是 <span class="nu0">123</span> 啦;<br>
&nbsp;<br>
当然如果你没有传参数的话,比如你的地址是 abc.<span class="me1">html</span> 后面没有参数,那强行输出调用结果有的时候会报错:<br>
&nbsp;<br>
所以我们要加一个判断 ,判断我们请求的参数是否为空,首先把值赋给一个变量:<br>
&nbsp;<br>
<span class="kw1">var</span> myurl<span class="sy0">=</span>GetQueryString<span class="br0">&#40;</span><span class="st0">&quot;url&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br>
<span class="kw1">if</span><span class="br0">&#40;</span>myurl <span class="sy0">!=</span><span class="kw2">null</span> <span class="sy0">&amp;</span>amp<span class="sy0">;&amp;</span>amp<span class="sy0">;</span> myurl.<span class="me1">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">length</span><span class="sy0">&amp;</span>gt<span class="sy0">;</span><span class="nu0">1</span><span class="br0">&#41;</span><br>
<span class="br0">{</span><br>
&nbsp; &nbsp;alert<span class="br0">&#40;</span>GetQueryString<span class="br0">&#40;</span><span class="st0">&quot;url&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br>
<span class="br0">}</span><br>
这样就不会报错了!</div></td></tr></tbody></table></div>
                                        <p class="post-copyright">未经允许不得转载:<ahref="https://www.wangchao.info/">王超博客</a> &raquo; <ahref="https://www.wangchao.info/1766.html">JavaScript获取url参数</a></p>
页: [1]
查看完整版本: JavaScript获取url参数