Javascript UrlDecode函数代码


Posted in Javascript onJanuary 09, 2010

有时候可能会有这么一个需求,我在后台使用:

HttpUtility.UrlEncode(str, System.Text.Encoding.UTF8);

将Url进行编码,前台JS需要使用这段内容,这时候就需要解码了:

代码

/** 
* Url编码 
**/ 
ShengUtils.encode = function(unzipStr){ 
var zipstr=""; 
var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%"; 
var tt= ""; 
for(var i=0;i<unzipStr.length;i++){ 
var chr = unzipStr.charAt(i); 
var c=ShengUtils.StringToAscii(chr); 
tt += chr+":"+c+"n"; 
if(parseInt("0x"+c) > 0x7f){ 
zipstr+=encodeURI(unzipStr.substr(i,1)); 
}else{ 
if(chr==" ") 
zipstr+="+"; 
else if(strSpecial.indexOf(chr)!=-1) 
zipstr+="%"+c.toString(16); 
else 
zipstr+=chr; 
} 
} 
return zipstr; 
} /** 
* Url解码 
**/ 
ShengUtils.decode=function(zipStr){ 
var uzipStr=""; 
for(var i=0;i<zipStr.length;i++){ 
var chr = zipStr.charAt(i); 
if(chr == "+"){ 
uzipStr+=" "; 
}else if(chr=="%"){ 
var asc = zipStr.substring(i+1,i+3); 
if(parseInt("0x"+asc)>0x7f){ 
uzipStr+=decodeURI("%"+asc.toString()+zipStr.substring(i+3,i+9).toString()); ; 
i+=8; 
}else{ 
uzipStr+=ShengUtils.AsciiToString(parseInt("0x"+asc)); 
i+=2; 
} 
}else{ 
uzipStr+= chr; 
} 
} 
return uzipStr; 
} 
ShengUtils.StringToAscii=function(str){ 
return str.charCodeAt(0).toString(16); 
} 
ShengUtils.AsciiToString = function(asccode){ 
return String.fromCharCode(asccode); 
}
Javascript 相关文章推荐
jquery购物车实时结算特效实现思路
Sep 23 Javascript
JavaScript各类型的关系图解
Oct 16 Javascript
剖析Node.js异步编程中的回调与代码设计模式
Feb 16 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
May 17 Javascript
非常优秀的JS图片轮播插件Swiper的用法
Jan 03 Javascript
微信小程序 Tab页切换更新数据
Jan 05 Javascript
jquery实现转盘抽奖功能
Jan 06 Javascript
微信小程序 MD5加密登录密码详解及实例代码
Jan 12 Javascript
从零学习node.js之搭建http服务器(二)
Feb 21 Javascript
JavaScript函数IIFE使用详解
Oct 21 Javascript
js表达式与运算符简单操作示例
Feb 15 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
Sep 02 Javascript
JavaScript 页面坐标相关知识整理
Jan 09 #Javascript
了解jQuery技巧来提高你的代码
Jan 08 #Javascript
在html页面上拖放移动标签
Jan 08 #Javascript
利用js获取服务器时间的两个简单方法
Jan 08 #Javascript
JavaScript中的集合及效率
Jan 08 #Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
Jan 08 #Javascript
Extjs学习笔记之八 继承和事件基础
Jan 08 #Javascript
You might like
PHP中的替代语法简介
2014/08/22 PHP
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
Python获取远程文件大小的函数代码分享
2014/05/13 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
Python如何实现MySQL实例初始化详解
2017/11/06 Python
python中的常量和变量代码详解
2018/07/25 Python
将pip源更换到国内镜像的详细步骤
2019/04/07 Python
dpn网络的pytorch实现方式
2020/01/14 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
2020/05/23 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
如何用Python徒手写线性回归
2021/01/25 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
linux面试题参考答案(4)
2014/09/21 面试题
招聘单位介绍信
2014/01/14 职场文书
爱岗敬业演讲稿范文
2014/01/14 职场文书
培训班主持词
2014/03/28 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
受资助学生感谢信
2015/01/21 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
申请吧主发表的感言
2015/08/03 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python