Javascript UrlDecode函数代码

 更新时间:2010年01月09日 21:53:37   作者:  
将Url进行编码,前台JS需要使用这段内容,这时候就需要解码了
有时候可能会有这么一个需求,我在后台使用:
复制代码 代码如下:

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);
}

相关文章

  • JS 事件机制完整示例分析

    JS 事件机制完整示例分析

    这篇文章主要介绍了JS 事件机制,结合完整实例形式分析了JavaScript事件响应机制、原理与使用技巧,需要的朋友可以参考下
    2020-01-01
  • JavaScrpt中如何使用 cookie 设置查看与删除功能

    JavaScrpt中如何使用 cookie 设置查看与删除功能

    这篇文章主要介绍了JavaScrpt中使用 cookie 设置查看与删除功能的方法,文中通过实例代码给大家介绍了js cookie常用的3个预设函数库,需要的朋友可以参考下
    2017-07-07
  • javascript实现京东快递单号的查询效果

    javascript实现京东快递单号的查询效果

    这篇文章主要为大家详细介绍了javascript实现京东快递单号的查询效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • JavaScript中的Primitive对象封装介绍

    JavaScript中的Primitive对象封装介绍

    这篇文章主要介绍了JavaScript中的Primitive对象封装介绍,本文着重讲解封装过程,然后给出示例代码,需要的朋友可以参考下
    2014-12-12
  • 微信小程序实现简易计算器

    微信小程序实现简易计算器

    这篇文章主要为大家详细介绍了微信小程序实现简易计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • text-align:justify实现文本两端对齐 兼容IE

    text-align:justify实现文本两端对齐 兼容IE

    对于text-align 我们再熟悉不过了,可是它有个justify属性,平时很少用到,就鲜为人知了。justify是一种文本靠两边布局方式,一般应用于书刊杂志排版;合理运用text-align:justify 有时会省去很多开发的时间,通过本文介绍text-align:justify实现文本两端对齐 兼容IE
    2015-08-08
  • JavaScript加入收藏夹功能(兼容IE、firefox、chrome)

    JavaScript加入收藏夹功能(兼容IE、firefox、chrome)

    这篇文章主要介绍了JavaScript加入收藏夹功能,兼容IE、firefox、chrome,并解决了window.sidebar.addPanel is not a function问题,需要的朋友可以参考下
    2014-05-05
  • JavaScript跨浏览器获取页面中相同class节点的方法

    JavaScript跨浏览器获取页面中相同class节点的方法

    这篇文章主要介绍了JavaScript跨浏览器获取页面中相同class节点的方法,本文讲解使用getELementsByClassName函数解决这个需求,并给了一个开源的getELementsByClassName函数实现,功能更加强大,需要的朋友可以参考下
    2015-03-03
  • js为空或不是对象问题的快速解决方法

    js为空或不是对象问题的快速解决方法

    这篇文章主要介绍了js为空或不是对象问题的快速解决方法。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • DOM3中的js textInput文本事件

    DOM3中的js textInput文本事件

    DOM3中引入了文本事件,其中之一 textInput 。当用户再可编辑区域输入字符时触发该事件。
    2011-04-04

最新评论