﻿/*值验证对象
接受参数:无

返回类型:无

应用技术：javascript

制作人：
黄若儒 Roy.Huang

注意:
1、某些方法需要用到同包中的Method类方法,Class.getClass("com.gzgi.util.Method")
*/
var Validate=function(){}

try{//设置命名空间
	Class.setNameSpace("com.gzgi.util.Validate",Validate);
}
catch(e){}

Validate.init=function(t){//将所有有方法带出指定对象或window
	t=t?t:window;
	for(var i in this)
		if(!t[i] && i!="init" && i!="finally")
			t[i]=this[i];
};

Validate.destroy=function(t){//将所有带出指定对象或window中的方法删除
	t=t?t:window;
	for(var i in this)
		if(t[i] && t[i]==this[i] && i!="init" && i!="finally")
			t[i]=undefined;
};

Validate.isNull=function(s){//指明表达式是否不包含任何有效数据
	return str == null;
};

Validate.isEmpty=function(s){//变量是否已为空
	var regExp = /.+/g;
	return !regExp.test(Class.getClass("com.gzgi.util.Method").trim(s));
};

Validate.isNumber=function(s){//变量是否为数字
	var regExp = /^\d+$/g;
	return regExp.test(s);
};

Validate.isInt=function(s){//是否为整数
	var regExp = /^[-\+]?\d+$/g;
	return regExp.test(s);
};

Validate.isPlusInt=function(s){//是否为正整数
	var regExp = /^\+?[0-9]*[1-9][0-9]*$/g;
	return regExp.test(s);
};

Validate.isPlusZeroInt=function(s){//是否为非负整数(正整数+0)
	var regExp = /^\+?[0-9]*[0-9][0-9]*$/g;
	return regExp.test(s);
};

Validate.isNegInt=function(s){//是否为负整数
	var regExp = /^-[0-9]*[1-9][0-9]*$/g;
	return regExp.test(s);
};

Validate.isNegZeroInt=function(s){//是否为非正整数(负整数+0)
	var regExp = /^-[0-9]*[0-9][0-9]*$/g;
	return regExp.test(s);
};

Validate.compare=function(a,b){//比较两数
	return Class.getClass("com.gzgi.util.Method").StringToNumber(a)-Class.getClass("com.gzgi.util.Method").StringToNumber(b);
};

Validate.isFloat=function(s){//是否为浮点数
	var regExp = /^[-\+]?\d+(\.\d+)?$/g;
	return regExp.test(s);
};

Validate.isPlusFloat=function(s){//是否为正浮点数
	var regExp = /^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/g;
	return regExp.test(s);
};

Validate.isPlusZeroFloat=function(s){//是否为非负浮点数(正浮点数+0)
	var regExp = /^\+?[0-9]*[0-9][0-9]*$/g;
	return regExp.test(s);
};

Validate.isNegFloat=function(s){//是否为负浮点数
	var regExp = /^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/g;
	return regExp.test(s);
};

Validate.isNegZeroFloat=function(s){//是否为非正浮点数(负浮点数+0)
	var regExp = /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/g;
	return regExp.test(s);
};

Validate.isEmail=function(s){//是否为合法E-mail
	var regExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/g;
	return regExp.test(s);
};

Validate.isPost=function(s){//是否为邮政编码
	var regExp = /^[1-9]\d{5}$/g;
	return regExp.test(s);
};

Validate.isQQ=function(s){//是否为QQ号码
	var regExp = /^[1-9]\d{4,8}$/g;
	return regExp.test(s);
};

Validate.isPhone=function(s){//是否为电话号码
	var regExp = /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/g;
	return regExp.test(s);
};

Validate.isMobile=function(s){//是否为手机号码
	var regExp = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/g;
	return regExp.test(s);
};

Validate.isEnglish=function(s){//是否为英文字母
	var regExp = /^[a-zA-Z]+$/g;
	return regExp.test(s);
};

Validate.isChinese=function(s){//是否为中文字符
	var regExp = /^[\u0391-\uFFE5]+$/g;
	return regExp.test(s);
};

Validate.isName=function(s){//是否为合法的字符串
	var regExp = /^[\w-\.]+$/g;
	return regExp.test(s);
};

Validate.isDate=function(s){//是否为日期(yyyy[/-]mm[/-]dd)
	var regExp = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/g;
	return regExp.test(s);
};

Validate.isTime=function(s){//是否为时间(23:59:59)
	var regExp = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/g;
	return regExp.test(s);
};

Validate.isUrl=function(s){//是否连接
	var regExp=/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
	return regExp.test(s);
};

Validate.isFileType=function(f,t){//判断文件类型是否符合
	var type=Class.getClass("com.gzgi.util.Method").getFileType(f).toUpperCase();
	if((","+t.toUpperCase()+",").indexOf(","+type+",")!=-1)
		return true;
	else
		return false;
};