// 一些通用的js功能

//扩展字符串功能，根据type类型判断是否合法,合法返回原字符串，不合法返回false
String.prototype.test = function(type)
{
	var v = false;
	switch(type)
	{
		case "space": //空格
			if(!(/[\w\d]+/ig.test(this)))v = this;
			break;
		case "null": //空串
			if(this.length==0)v = this;
			break;
		case "integer": //整数
			if(/^[\d]+$/ig.test(this))v = this;
			break;
		case "float": //小数
			if(/^[\d]+\.[\d]+$/ig.test(this))v = this;
			break;
		case "lowcase":	//小写【只要不含大写字母就行】
			if(/[A-Z]+/ig.test(this))v = false;
			break;
		case "upcase": //大写【只要不含小写字母就行】
			if(/[a-z]+/ig.test(this))v = false;
			break;
		case "email": //电子邮箱
			if(/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/ig.test(this))v = this;
			break;
		case "phone": //固定电话
			if(/(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}/ig.test(this))v = this;
			break;
		case "qq": //QQ号码
			if(/\d{5,10}/ig.test(this))v = this;
			break;
		case "msn": //MSN账户
			if(/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/ig.test(this))v = this;
			break;
		case "idcard": //身份证号
			if(/^\d{15}|\d{17}(?:\d|x|X)$/ig.test(this))v = this;
			break;
		case "ip": //IP地址
			if(/(\d+)\.(\d+)\.(\d+)\.(\d+)/ig.test(this))v = this;
			break;
		case "post": //邮政编码
			if(/[1-9]{1}(\d+){5}/ig.test(this))v = this;
			break;
	}
	return v;
}
function suijinum(Min,Max)
{
	return parseInt(Math.random()*(Max - Min + 1) + Min);
}
/*String.prototype.trimleft = function(str){
	var l = str.length;
	if(this.substr(this.length-l,l)==str)this = this.substr(0,riqi.length-l);
}*/
//符合yyyy-mm-dd的字符串转换成日期格式
String.prototype.toDate = function(){
	return new Date(this.replace(/-/ig,'/'));
}
//yyyy-mm-dd格式的字符串返回对应日期
Date.prototype.getNewDate = function(str){
	return new Date(str.replace(/-/ig,'/'));
}
//格式化成 yyyy-mm-dd
Date.prototype.dateFormat = function(){
	return this.getFullYear() + "-" + (this.getMonth()+1) +"-"+ this.getDate();
}
//日期加减
Date.prototype.add = function(mode,num){
	num = parseInt(num);
	switch(mode){
		case "y"://年
			this.setYear(this.getFullYear()+num);
			break;
		case "m"://月
			if(parseInt(num/12)!=0)this.setYear(this.getFullYear()+parseInt(num/12));
			var m = this.getMonth()+(num%12);
			if(m>11){
				this.setYear(this.getFullYear()+1);
				this.setMonth(m-11);
			}else if(m<0){
				this.setYear(this.getFullYear()-1);
				this.setMonth(11-m);
			}else{
				this.setMonth(m);
			}
			break;
		case "w"://周
			this.setTime(this.valueOf() + num*7*24*60*60*1000);
			break;
		case "d"://天
			this.setTime(this.valueOf() + num*24*60*60*1000);
			break;
		case "h"://小时
			this.setTime(this.valueOf() + num*60*60*1000);
			break;
		case "f"://分钟
			this.setTime(this.valueOf() + num*60*1000);
			break;
		case "s"://秒
			this.setTime(this.valueOf() + num*1000);
			break;
	}
	return this;
}
//interval ：D表示查询精确到天数的之差interval ：H表示查询精确到小时之差interval ：M表示查询精确到分钟之差interval ：S表示查询精确到秒之差interval ：T表示查询精确到毫秒之差
Date.prototype.dayDiffer = function(mode,cdate)
{
	try{cdate.getFullYear();}catch(e){return(0);}
	var base =60*60*24*1000;//一天的毫秒数
	var result = this - cdate;
	switch(mode){
		
	}
	return(Math.floor(result));
}

function fenye(data,href){
	if(!data.page || !data.count)return "";
	var html = "";
	html += data.page + "/"+ data.count +"页&nbsp;";
	html += "<a href='"+ href.replace("[page]",1) +"' target='_self'>首页</a>&nbsp;";
	html += "<a href='"+ href.replace("[page]",data.page-1) +"' target='_self'>上一页</a>&nbsp;";
	html += "<select onchange=\"location.href='"+ href +"'.replace('[page]',this.value)\">[options]</select>&nbsp;";
	var options;
	for(var i=1;i<=data.count;i++){
		if(i==data.page)options += "<option value='"+ i +"' selected='selected'>"+ i +"</option>";
		else options += "<option value='"+ i +"'>"+ i +"</option>";
	}
	html = html.replace("[options]",options);
	html += "<a href='"+ href.replace("[page]",data.page+1) +"' target='_self'>下一页</a>&nbsp;";
	html += "<a href='"+ href.replace("[page]",data.count) +"' target='_self'>尾页</a>";
	return html;
}
function getBadWords(str){
	//var arr = "".split("@");
//	var ar = new Array();
//	for(var i=0 ; i<arr.length;i++)	if(str.indexOf(arr[i])>-1)ar.push(arr[i]);
//	return ar.join(",");
	return "";
}
