给大家看一下我的代码 只要把这些代码嵌入到页面文件即可 例一 利用正则表达式来获取
var LocString = String(window.document.location.href); function getQueryStr(str) { var rs = new RegExp("(^|)" + str + "=([^&]*)(&|$)", "gi").exec(LocString), tmp; if (tmp = rs) { return tmp[2]; } // parameter cannot be found return ""; }
调用方法
document.getElementById("user").value = getQueryStr("user"); document.getElementById("password").value = getQueryStr("password"); document.getElementById("sysno").value = getQueryStr("sysno");
例二 利用split函数来按参数切成数组
<script> <BR>urlinfo=window.location.href; //获取当前页面的url <BR>len=urlinfo.length;//获取url的长度 <BR>offset=urlinfo.indexOf("?");//设置参数字符串开始的位置 <BR>newsidinfo=urlinfo.substr(offset,len)//取出参数字符串 这里会获得类似“id=1”这样的字符串 <BR>newsids=newsidinfo.split("=");//对获得的参数字符串按照“=”进行分割 <BR>newsid=newsids[1];//得到参数值 <BR>alert("您要传递的参数值是"+newsid); <BR></script>
不过一定要记得 这个方法只是针对含有参数的url有用 ,如果对方用了POST方法传递参数, url中是不会含有参数的所以这个技巧只对GET方法或者指定了参数的url有用哦
下面看一个完整的实例
aa.htm是参数输渗入渗出界面
bb.htm是参数接收处理界面
aa.htm
<script> <BR> function submit() <BR> { <BR> var input1 = document.getElementById("inputid"); <BR> window.open("bb.htm?inputStr=" + input1.value);//传入参数 <BR> } <BR> </script> bb.htm: <script> <BR> //获得参数的方法 <BR> var request = <BR> { <BR> QueryString : function(val) <BR> { <BR> var uri = window.location.search; <BR> var re = new RegExp("" +val+ "=([^&?]*)", "ig"); <BR> return ((uri.match(re))?(uri.match(re)[0].substr(val.leng th+1)):null); <BR> } <BR> } <BR> </script> <script> <BR> //调用方法获得参数 <BR> var rt = request.QueryString("inputStr"); <BR> alert(rt); <BR> </script>
bb.htm
test