用JavaScript实现UrlEncode和UrlDecode的脚本代码

 更新时间:2008年07月23日 20:22:54   作者:  
用js自定义函数写的实现url加密解密的实现代码,需要的朋友可以参考下

复制代码 代码如下:

<script type="text/vbscript">    
Function str2asc(strstr)     
 str2asc = hex(asc(strstr))     
End Function     
Function asc2str(ascasc)     
 asc2str = chr(ascasc)     
End Function    
</script>

将vbscript函数转成javascript,方便非ie浏览器下使用

复制代码 代码如下:

function str2asc(strstr){
return ("0"+strstr.charCodeAt(0).toString(16)).slice(-2);
}
function asc2str(ascasc){
return String.fromCharCode(ascasc);
}

复制代码 代码如下:

<script type="text/javascript">    
/*这里开始时UrlEncode和UrlDecode函数*/     
function UrlEncode(str){     
  var ret="";     
  var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";     
  var tt= "";    

  for(var i=0;i<str.length;i++){     
   var chr = str.charAt(i);     
    var c=str2asc(chr);     
    tt += chr+":"+c+"n";     
    if(parseInt("0x"+c) > 0x7f){     
      ret+="%"+c.slice(0,2)+"%"+c.slice(-2);     
    }else{     
      if(chr==" ")     
        ret+="+";     
      else if(strSpecial.indexOf(chr)!=-1)     
        ret+="%"+c.toString(16);     
      else     
        ret+=chr;     
    }     
  }     
  return ret;     
}     
function UrlDecode(str){     
  var ret="";     
  for(var i=0;i<str.length;i++){     
   var chr = str.charAt(i);     
    if(chr == "+"){     
      ret+=" ";     
    }else if(chr=="%"){     
     var asc = str.substring(i+1,i+3);     
     if(parseInt("0x"+asc)>0x7f){     
      ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6)));     
      i+=5;     
     }else{     
      ret+=asc2str(parseInt("0x"+asc));     
      i+=2;     
     }     
    }else{     
      ret+= chr;     
    }     
  }     
  return ret;     
}     
alert(UrlDecode("%C2%D2%C2%EB"));    
</script>

相关文章

  • jquery和css3中的选择器nth-child使用方法和用途示例

    jquery和css3中的选择器nth-child使用方法和用途示例

    nth-child(),是CSS3中的一个伪类选择符,JQuery选择器继承了CSS的部分语法,允许通过标签名、属性名、内容对DOM元素进行快速、准确的选择。
    2023-03-03
  • echarts如何实现带百分比的横向柱状图

    echarts如何实现带百分比的横向柱状图

    近期在使用echart开发过程中遇到一些问题,需要开发横向柱状图,下面这篇文章主要给大家介绍了关于echarts如何实现带百分比的横向柱状图的相关资料,需要的朋友可以参考下
    2021-12-12
  • js生成动态表格并为每个单元格添加单击事件的方法

    js生成动态表格并为每个单元格添加单击事件的方法

    这篇文章主要介绍了使用javascript生成动态表格并为每个单元格添加单击事件,需要的朋友可以参考下
    2014-04-04
  • JS实现多选框的操作

    JS实现多选框的操作

    这篇文章主要为大家详细介绍了JS实现多选框的操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • javascript中的缓动效果实现程序

    javascript中的缓动效果实现程序

    javascript中的缓动效果可以应用于很多地方,比如距离位移上的变化:图片的滚动、焦点图的轮转切换,透明度上的变化:渐隐渐现。凡是存在运动的状态都适用,下面以最基本的块在容器内从左到右滑动为例,讲下几种不同的缓动处理方式
    2012-12-12
  • JS+html5 canvas实现的简单绘制折线图效果示例

    JS+html5 canvas实现的简单绘制折线图效果示例

    这篇文章主要介绍了JS+html5 canvas实现的简单绘制折线图效果,结合实例形式分析了js结合HTML5 canvas技术实现图形绘制的数值运算与数组遍历等操作技巧,需要的朋友可以参考下
    2017-03-03
  • js实现类似于add(1)(2)(3)调用方式的方法

    js实现类似于add(1)(2)(3)调用方式的方法

    这篇文章主要介绍了js实现类似于add(1)(2)(3)调用方式的方法,需要的朋友可以参考下
    2015-03-03
  • javascript 改变网页加载的CSS

    javascript 改变网页加载的CSS

    javascript 改变网页加载的CSS主要通过动态响应select触发的选项变化控制link标签加载的css,以实现不依赖cookie控制的页面css样式动态加载功能,需要的朋友可以参考一下
    2007-12-12
  • 深入浅出理解JavaScript高级定时器原理与用法

    深入浅出理解JavaScript高级定时器原理与用法

    这篇文章主要介绍了JavaScript高级定时器原理与用法,结合实例形式分析了javascript重复定时器相关问题与解决方法,并描述了函数节流的原理与相关操作方法,需要的朋友可以参考下
    2018-08-08
  • js仿淘宝和百度文库的评分功能

    js仿淘宝和百度文库的评分功能

    这篇文章主要为大家详细介绍了js仿淘宝和百度文库的评分功能的相关代码和实现思路,具有一定的参考价值,需要的朋友可以参考下
    2016-05-05

最新评论