2008年9月1日 星期一

分析網址參數

假設我有一個網址如下:

http://mahdi0828.blogspot.com/search.html?p=1&arg=review&w=false

使用JavaScript內的函數location.search即可取得後面的參數部份

?p=1&arg=review&w=false

把"?"取代成"&"並再後面加一個"&"即變成

&p=1&arg=review&w=false&

以"&"+name+"="搜尋即可知道參數的位置(name為參數名稱)

下一個"="至下一個"&"之間就是參數的值


S1="&"+location.search.substring(1)+"&";

a=S1.search("&"+name+"=")+1; //name是參數名稱

arg=S1.substring(a+S1.substring(a).search("=")+1,a+S1.substring(a).search("&"));



##CONTINUE##

來舉例一下

<script language="javascript">

max=10;
S1="&"+location.search.substring(1)+"&";

if(S1=="&&") { S1="&p=1&"; }

a=S1.search("&"+"p"+"=")+1;
arg=S1.substring(a+S1.substring(a).search("=")+1,a+S1.substring(a).search("&"));

href=location.href.substring(0,location.href.search(location.search.substring(1))-1);

document.write("這是第"+arg+"頁");

if(parseInt(arg)!=1) { document.write("[上一頁]"); }

if(parseInt(arg)!=max) { document.write("[下一頁]"); }

</script>


結果展示

http://alumni.ee.ccu.edu.tw/~hayden0828/example/argument.htm


JS字串處理真的是很強大(看看西佳佳...唉~)

2 則留言:

  1. 西佳佳不是有string格式

    那個還算好用吧@@

    回覆刪除
  2. 你要是有寫過VB就知道了

    C++的string差的遠了= =

    回覆刪除

Related Posts Plugin for WordPress, Blogger...