怎么用js来加密url的传递参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用js来加密url的传递参数相关的知识,希望对你有一定的参考价值。

加密代码
function eb(ting)

//传入要加密的url
//获取url参数部分
var paraString = ting.substring(ting.indexOf("?")+1,ting.length);
//将加密后的参数重新组合到url中
var rul=ting.substring(0,ting.indexOf("?")+1)+escape(paraString);
//跳转到rul页面呢
location.href=rul;

解密代码
var urlPara = location.search; //获取参数部分
urlPara=unescape(urlPara);//对参数解密
//分析参数
function getPara(paraName)
var reg = new RegExp("[&|?]"+paraName+"=([^&$]*)", "gi");
var a = reg.test(urlPara);
return a ? RegExp.$1 : "";

//捕获参数并进行操作
//window.onload = function()
//var url= getPara("id"); //捕获到url参数
//document.getElementById("TextBox1").value = url;
//
参考技术A js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent

1.传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。

例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</script>

2.进行url跳转时可以整体使用encodeURI

例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");

3. js使用数据时可以使用escape

例如:搜藏中history纪录。

4.escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。本回答被提问者采纳
参考技术B Oh! A matchstick is useful for her.

以上是关于怎么用js来加密url的传递参数的主要内容,如果未能解决你的问题,请参考以下文章

我的url里面需要传递一个参数比如<a href="a.jsp?kk=<%=name%>" 怎么加密

怎么把js中通过url同时传多个参数怎么写

js获取url参数并传递到其他页面

thinkphp js参数传递问题

asp function 传递两个以上参数报错的问题

js 中利用url传递参数的编码问题