日期:2014-05-16  浏览次数:20380 次

JavaScript的URL encode decode源代码,ip验证,TRim

使用JavaScript对数据进行编码和解码动作,代码如下:

<script type="text/javascript">

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(/\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;
	}
 
}


var sss = "aaa.html?new=1&time[0][0]=+&time[0][1]=%3E%3D&time[0][2]=12&time[0][3]=29&time[0][4]=2010&time[0][5]=&time[0][6]=&time[0][7]=&time[0][8]=+&time[0][9]=+&submit=Query+DB&num_result_rows=-1&time_cnt=1";


alert(Url.decode(sss));

//alert(sss.replace("&amp;","&","ig"));
//alert(Url.decode(sss.replace("&amp;","&","ig")));

</script>

?IP 验证代码

String.prototype.isIP   =   function(){
    var   reSpaceCheck   =   /^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i;
    if   (reSpaceCheck.test(this)){
        this.match(reSpaceCheck);
        if   (RegExp.$1   <=   255   &&   RegExp.$1   >   0 
		        &&   RegExp.$2   <=   255   &&   RegExp.$2   >=   0  
                &&   RegExp.$3   <=   255   &&   RegExp.$3   >=   0  
                &&   RegExp.$4   <=   255   &&   RegExp.$4   >=   0)   {
            return   true;
        }   else   {
            return   false;
        }
    }   else   {
        return   false;
    }
}

var strip = "0.0.5.194";
alert(strip.isIP());

?String.Trim代码

String.prototype.Trim = function() 
{ 
  return this.replace(/(^\s*)|(\s*$)/g, "");
} 
String.prototype.LTrim = function() 
{ 
return this.replace(/(^\s*)/g, ""); 
} 
String.prototype.RTrim = function() 
{ 
return this.replace(/(\s*$)/g, ""); 
} 

?上面的个代码的各个例子在附件中