»
Tiếng AnhTiếng PhápTiếng Việt

In - Mã hóa và giải mã địa chỉ URL - JavaScriptBank.com

Phiên bản đầy đủ: jsB@nk » Trình duyệt » Mã hóa và giải mã địa chỉ URL
URL: http://www.javascriptbank.com/url-decoder-encoder.html

Mã hóa và giải mã địa chỉ URL © JavaScriptBank.comBạn có thể dùng đoạn mã này để mã hóa và giải mã các địa chỉ tài nguyên trên trang web của mình. Đoạn mã này hoàn toàn tương thích với mã định dạng tài liệu UTF-8 và sẽ rất hữu ích nếu trang web của bạn có sử dụng kĩ thuật AJAX hay những thao tác có liên quan đến các tham số của địa chỉ URL.

Phiên bản đầy đủ: jsB@nk » Trình duyệt » Mã hóa và giải mã địa chỉ URL
URL: http://www.javascriptbank.com/url-decoder-encoder.html



JavaScript
<script type="text/javascript"><!--// Created by Justas - http://www.webtoolkit.info/var Url = { // 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(/rn/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; }}//--></script>


HTML
<form>Enter a string:<br><input name="decoded" onkeyup="this.form.hash.value = Url.encode(this.value)" style="width: 336px;" type="text"><br><br>URL encoded data:<br><input name="hash" value="" style="width: 336px;" type="text"></form>