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

代码如下:

<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>

(0)

相关推荐

  • javascript[js]获取url参数的代码

    最近做个页面,需要用javascript获取url参数,可发现网上的东西,实在是多了,错误也实在是多啊,真晕,浪费了我不少时间于是,我便总结一下,一个好用的就可以了,先声明下,用正则,是简单,但多浏览器的兼容性,和速度不敢保证了,所以我就用个多浏览器兼容的 复制代码 代码如下: <script language = javascript> function request(paras){ var url = location.href;  var paraString = url.substr

  • Javascript下的urlencode编码解码方法附decodeURIComponent

    关于在ASP(Server.UrlEncode).PHP(urlencode())函数编码结果,或是经过asp.php等动态语言直接写入COOKIES的中文字符,用JS读取的时候,都会碰到一个编码的问题,那就是最终字符串被urlencode编码了,而又时有需要从JS在客户端去读取这些数据. 而本文,就大概说说如何在js中通过系统自带的函数去解决这个问题. 而相信碰到过此问题的朋友应该都有所了解,目前网络上流行一些js下的自定义函数去解决这个问题,如说vbscript(URLDecode()).j

  • 浏览器中url存储的JavaScript实现

    现在的浏览器里,有一个十分有趣的功能,你可以在不刷新页面的情况下修改浏览器URL;在浏览过程中.你可以将浏览历史储存起来,当你在浏览器点击后退按钮的时候,你可以冲浏览历史上获得回退的信息,这听起来并不复杂,是可以实现的,我们来编写些代码.来看看它是如何工作的. var stateObject = {}; var title = "Wow Title"; var newUrl = "/my/awesome/url"; history.pushState(stateOb

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

    复制代码 代码如下: <script type="text/vbscript">     Function str2asc(strstr)       str2asc = hex(asc(strstr))      End Function      Function asc2str(ascasc)       asc2str = chr(ascasc)      End Function     </script> 将vbscript函数转成javascrip

  • javascript动态添加单元格的脚本代码

    如何动态添加单元格!! 复制代码 代码如下: 用insertRow()和insertCell()方法 其用法如下: insertRow()  复制代码 代码如下: var newTR=TableOBJ.insertRow(N); 复制代码 代码如下: 其中N表示插入到第几行!  说明:当N=0时,插入到最上面一行!当N=-1时插入到最后一行,相当省略该参数!  insertCell() 复制代码 代码如下: var newTD=TrOBJ.insertCell(N); 其中N表示插入到第几列!

  • 用javascript实现页内搜索的脚本代码

    function encode(s){ return s.replace(/&/g,"&").replace(//g,">").replace(/([\\\.\*\[\]\(\)\$\^])/g,"\\$1"); } function decode(s){ return s.replace(/\\([\\\.\*\[\]\(\)\$\^])/g,"$1").replace(/>/g,"&g

  • php自定义urlencode,urldecode函数实例

    本文实例讲述了php自定义urlencode,urldecode函数.分享给大家供大家参考.具体如下: //配合JavaScript的ajaxObject函数, 对字串进行转码. function ajax_encode($str){ $patern = array("/%/","/=/","/&/"); // % 必须是第一个项, 替换是按项的顺序进行的. $rp = array("%25","%26&qu

  • javascript带回调函数的异步脚本载入方法实例分析

    本文实例讲述了javascript带回调函数的异步脚本载入方法.分享给大家供大家参考.具体实现方法如下: var Loader = function () { } Loader.prototype = { require: function (scripts, callback) { this.loadCount = 0; this.totalRequired = scripts.length; this.callback = callback; for (var i = 0; i < scri

  • php urlencode()与urldecode()函数字符编码原理详解

    其原理就是把中文字符转换为十六进制并按某种规则进行字符串组合,实现字符的编码与解编码,保证URL数据传递过程中字符的完整性和兼容性,主要讨论中文字符的编码情况. 一,FireFox浏览器编码中文字符 在Firefox浏览器下如果输入中文字符,将会自动实现URL编码,如下 按下Enter键前 按下Enter键后 二,urlencode()函数原理 urlencode()函数用于编码URL字符串,这里主要讨论中文字符的编码情况, 实例如下 复制代码 代码如下: echo urlencode('不要迷

  • 如何让动态插入的javascript脚本代码跑起来。

    首先,声明方法很多种,直接间接的方法都有,只罗列一般情况下的两种模式: 假设我们要装入的代码是a.js: var foo=function(){ document.write("I am a.js content foo() function by never-online"); }; 一.直接插入src,这种方法简单而直接,但有局限性, 1) <script> var x=document.createElement("SCRIPT"); x.src=

  • Python3中urlencode和urldecode的用法详解

    在Python3中,将中文进行urlencode编码使用函数 urllib.parse.quote(string, safe='/', encoding=None, errors=None) 而将编码后的字符串转为中文,则使用 urllib.parse.unquote(string, encoding='utf-8', errors='replace') 示例代码如下: test = "微信公众账号比特量化" print(test) new = urllib.parse.quote(t

  • C++ 写的UrlEncode和UrlDecode实例

    关于UrlEncode的实现(C++).网上有非常多不同的版本号.对须要编码的字符集的选取并不统一.那么究竟有没有标准呢?答案是有的. 绝对不编码的,仅仅有字母.数字.短横线(-).下划线(_).点(.)和波浪号(~),其它字符要视情况而定.所以一般性的urlencode仅仅需保留上述字符不进行编码. 以下给出实现: unsigned char ToHex(unsigned char x) { return x > 9 ? x + 55 : x + 48; } unsigned char Fro

  • Python之urlencode和urldecode案例讲解

    python中的urlencode和urldecode python将字符串转化成urlencode ,或者将url编码字符串decode的方法: 方法1: urlencode:urllib中的quote方法 >>> from urllib import quote >>> quote(':') '%3A' >>> quote('http://www.baidu.com') 'http%3A//www.baidu.com' urldecode:urll

随机推荐