willeager 发表于 2013-1-26 13:42:10

JS urlencode,urldecode

var LittleUrl = {    // public method for url encoding    encode : function (string) {      return escape(this._utf8_encode(string));    },    // public method for url decoding    decode : function (string) {      return this._utf8_decode(unescape(string));    },    // private method for UTF-8 encoding    _utf8_encode : function (string) {      string = string.replace(/\r\n/g,"\n");      var utftext = "";      for (var n = 0; n < string.length; n++) {             var c = string.charCodeAt(n);             if (c < 128) {                utftext += String.fromCharCode(c);            }            else if((c > 127) && (c < 2048)) {                utftext += String.fromCharCode((c >> 6) | 192);                utftext += String.fromCharCode((c & 63) | 128);            }            else {                utftext += String.fromCharCode((c >> 12) | 224);                utftext += String.fromCharCode(((c >> 6) & 63) | 128);                utftext += String.fromCharCode((c & 63) | 128);            }         }         return utftext;    },   // private method for UTF-8 decoding    _utf8_decode : function (utftext) {      var string = "";      var i = 0;      var c = c1 = c2 = 0;         while ( i < utftext.length ) {             c = utftext.charCodeAt(i);             if (c < 128) {                string += String.fromCharCode(c);                i++;            }            else if((c > 191) && (c < 224)) {                c2 = utftext.charCodeAt(i+1);                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));                i += 2;            }            else {                c2 = utftext.charCodeAt(i+1);                c3 = utftext.charCodeAt(i+2);                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));                i += 3;            }      }      return string;    }}
页: [1]
查看完整版本: JS urlencode,urldecode