/*1、字符类************************************************************************************************/
//trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格
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, "");}


//校验字符串是否为空
function isEmpty(str){
    return (str.trim()=="");
}

//邮箱的判断。
function isEmail(mail){
	return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
}

//密码的判断。
function isPassword(str){
	return(/^(\w){6,20}$/.test(str));
}

//邮编的判断
function isPostalCode(str){
	return(/^[a-zA-Z0-9 ]{3,12}$/.test(str));
}
//字符串是否为中文
function isChinese(str){
    return (/^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi.test(str))
}

//计算字符串的长度，一个汉字两个字符
String.prototype.chineseLength = function(){return this.replace(/[^\x00-\xff]/g,"**").length;}


/*2、数字验证类************************************************************************************************/
//整数
function isInteger(str){
	return (/^(\-?)(\d+)$/.test(str));
}

//包含数字
function inNum(str){
	return (str.match(/\d/g)!=null);
}

//包含字母
function inLetter(str){
	return (str.match(/[a-z]/ig)!=null);
}

//包含中文
function inChinese(str){
	return (str.match(/[^ -~]/g)!=null);
}

function isWeb(str){
	return (/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/.test(str));
}




//包含特殊字符
function inChar(str){
	return (str.match(/[^\da-zA-Z]/g)!=null);
}

//大于0的整数 （用于传来的ID的验证)自然数    
function isNatural(str){
	return (/^\d+$/.test(str));
} 

//负整数的验证
function isNegative(str){
	return (/^-\d+$/.test(str));
}       
  
      
/*3、时间类*************************************************************************************************/
//短时间，形如 (13:04:06)
function isTime(str){
	var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
    if (a == null) return false;
	return (a[1]>24||a[3]>60||a[4]>60);
}

// 短日期，形如 (2003-12-05)
function isDate(str){
	var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
	if(r==null)return false; 
	var d= new Date(r[1],r[3]-1,r[4]); 
    return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

//长时间，形如 (2003-12-05 13:04:06)
function isDateTime(str){
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null)return false; 
	var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}

//校验两个日期的先后
function DateEarlier(strStart,strEnd){
    if(isDate(strStart) == false || isDate(strEnd) == false)return false;
    var arr1 = strStart.split("-");
    var arr2 = strEnd.split("-");
    var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
    var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
    if(arr1[1].length == 1)arr1[1] = "0" + arr1[1];
    if(arr1[2].length == 1)arr1[2] = "0" + arr1[2];
    if(arr2[1].length == 1)arr2[1] = "0" + arr2[1];
    if(arr2[2].length == 1)arr2[2]="0" + arr2[2];
    var d1 = arr1[0] + arr1[1] + arr1[2];
    var d2 = arr2[0] + arr2[1] + arr2[2];
    return (parseInt(d1,10) < parseInt(d2,10));
}


/*4、浏览器类************************************************************************************************/
/*
  判断客户端的分辨率
      window.screen.height;  window.screen.width;
*/
//判断浏览器的类型
function browserVersion(){
	var Sys = {};
	var ua = navigator.userAgent.toLowerCase();
	var s;
	(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
	(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
	(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
	(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
	(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
        //以下进行测试
	if (Sys.ie) document.write('IE:' + Sys.ie);
	if (Sys.firefox) document.write('Firefox:' + Sys.firefox);
	if (Sys.chrome) document.write('Chrome:' + Sys.chrome);
	if (Sys.opera) document.write('Opera:' + Sys.opera);
	if (Sys.safari) document.write('Safari:' + Sys.safari);
}

/*5、结合类************************************************************************************************/
//根据ID获取object对象
function byId(id) {
	if (document.getElementById) {
		return document.getElementById(id);
	} else if (document.all) {
		return document.all[id];
	} else if (document.layers) {
		return document.layers[id];
	} else {
		return null;
	}
}
//显示对象
function show(str){ 
	byId(str).style.display="";
} 
//隐藏对象
function hide(str){ 
	byId(str).style.display="none";
} 




/*7、各种<object classid=>相关类，如播放器，flash与脚本互动等**************************************************/
//<object classid="clsid:8856f961-340a-11d0-a96b-00c04fd705a2" name=wb height=0 width=0></object> 
//打印设置
function printsetup(){ 
	wb.execwb(8,1); 
	wb.Portrait = true;   
}  
//打印预览
function printpreview(){ 
	wb.execwb(7,1);  
	wb.Portrait = true;                    
}   
//打印
function printit(){   
	wb.Portrait = true;
	wb.execwb(6,6)    
}  




/*9、文件************************************************************************************************/
// 得到文件的后缀名
function getFileSuffix(oFile){
    if(oFile == null)return null;
    var pattern = /(.*)\.(.*)$/gi;
    if(typeof(oFile) == "object"){
        if(oFile.value == null || oFile.value == "")return null;
        var arr = pattern.exec(oFile.value);
        return RegExp.$2;
    }else if(typeof(oFile) == "string"){
        var arr = pattern.exec(oFile);
        return RegExp.$2;
    }else return null;
}






