//以下为输入过程中输入内容即时验证函数
//必须输入是数字
function inputNumber(handle,keyCode) {
  if(!((keyCode>=48&&keyCode<=57)||(keyCode>=96&&keyCode<=105))) {
 window.event.returnValue=false;
 return "必须输入数字!即如下字符:<br>1234567890";
  } else return true;
}
//必须输入字母
function inputLetter(handle,keyCode) {
  if(!((keyCode>=97&&keyCode<=122)||(keyCode>=65&&keyCode<=90))) {
 window.event.returnValue=false;
 return "必须输入大小写字母!即如下字符:<br>abcdefghijklmnopqrstuvwxyz<br>ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  } else return true;
}

//必须输入字母与数字
function inputNormal(handle,keyCode) {
 var pattern = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
 var keyValue=String.fromCharCode(keyCode);
 if(pattern.indexOf(keyValue)!=-1) {
  window.event.returnValue=true;
  return true;
 }else{
  window.event.returnValue=false;
  return "必须输入可见字符!即如下字符:<br>ABCDEFGHIJKLMNOPQRSTUVWXYZ<br>abcdefghijklmnopqrstuvwxyz<br>0123456789";
 }
}

//================以下为校验函数区=======================//
//函数名说明:is+TypeName,TypeName首字母大写
//参数handle为当前控件句柄
//参数keyCode为当前按钮的值
//返回说明:通过返回"",不通过返回不通过的原因描述
/*格式支持例表
格式字符           格式描述       格式说明
Number             数字型
Userid             用户ID
Username           用户名称
Enterprisename     企业单位名称
Loginname          登录名称
Cardnumber         证件号码
Address            地址
Phone              电话号码
Mobile             手机号码
Postcode           邮政编码
Email              电子邮件
Namesimplicity     姓名简拼
Password           密码
Namestr            名称字符串
DescStr            描述字符串
Pageurl            页面URL
Dirctory           磁盘路径
*/

//判断是否是数字
 function isNumber(handle){
  var pattern = /^(\d){1,32}$/;
    if (!pattern.exec(handle.value)) return "必须输入数字!";
    return true;
 }
//判断是否是用户账号
 function isUserid(handle){
  var pattern = /^(\d|\w){3,14}$/;
    if (!pattern.exec(handle.value)) return "必须输入数字<br>且长度需大于等于3位小于等于14位!";
    return true;
 }
//判断是否用户名称可以是字母也可以是中文
 function isUsername(handle){
  var pattern = /^[a-zA-Z\u4E00-\u9FA5]{2,50}$/;
    if (!pattern.exec(handle.value)) return "必须是中文字母或者数字<br>且长度需大于等于2位小于等于50位!"
    return true;
    }
//判断是否是企业名称:可以是字母 数字 中文 - _
    function isEnterprisename(handle){
        var pattern = /^[a-zA-Z0-9-_\u4E00-\u9FA5]{2,200}$/;
        if (!pattern.exec(handle.value)) return "必须是中文字母或者数字<br>且长度需大于等于2位小于等于200位!";
        return true;
    }
//判断是否是登录名称
    function isLoginname(handle){
        var pattern = /^([a-z]|[A-Z]|[0-9]){2,25}$/;
        if (!pattern.exec(handle.value)) return "必须是字母或者数字<br>且长度需大于等于2位小于等于25位!";
        return true;
 }
//判断是否是证件号码
 function isCardnumber(handle){
   var pattern;
  pattern = /^(\d){5,32}$/;
   if (!pattern.exec(handle.value)) return "必须是数字<br>且长度需大于等于5位小于等于32位!";
   return true;
 }
//地址
 function isAddress(handle){
  var pattern = /^[a-zA-Z0-9-_\u4E00-\u9FA5]{1,200}$/;
    if (!pattern.exec(handle.value)) return "必须是中文字母或者数字<br>且长度需大于等于2位小于等于200位!";
    return true;
 }
//联系电话
 function isPhone(handle){
  var pattern = /^(\d){6,30}$/;
    if (!pattern.exec(handle.value)) return "必须是数字<br>且长度需大于等于6位小于等于30位!";
    return true;
 }
//手机
 function isMobile(handle){
  var pattern = /^[1][3](\d){9}$/;
    if (!pattern.exec(handle.value)) return "必须是数字<br>且首两位是13长度是11位!";
    return true;
 }
//邮编
 function isPostcode(handle){
  var pattern = /^(\d){6}$/;
    if (!pattern.exec(handle.value)) return "必须是数字<br>且长度需是6位!";
    return true;
 }
//email
 function isEmail(handle){
  var pattern = /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
    if (!pattern.exec(handle.value)) return "必须符合电子邮件地址格式";
    return true;
 }
//简拼
 function isNamesimplicity(handle){
  var pattern = /^([a-zA-Z]){2,25}$/;
    if (!pattern.exec(handle.value)) return "必须是字母<br>且长度需大于等于2位小于等于25位!";
    return true;
 }
//密码
 function isPassword(handle){
  var pattern = /^([a-zA-Z]|[0-9]){6,25}$/;
    if (!pattern.exec(handle.value)) return "必须是字母或者数字<br>且长度需大于等于6位小于等于25位!";
    return true;
 }
//判断是否是名称:可以是字母 数字 中文 - _
    function isNamestr(handle){
        var pattern = /^[a-zA-Z0-9-_\u4E00-\u9FA5]{1,64}$/;
        if (!pattern.exec(handle.value)) return "必须是中文字母或者数字<br>且长度需大于等于1位小于等于40位!";
        return true;
    }
//判断是否是描述信息:可以是字母 数字 中文 - _ , .
    function isDescstr(handle){
        var pattern = /^[a-zA-Z0-9-_,.\u4E00-\u9FA5]{1,50}$/;
        if (!pattern.exec(handle.value)) return "必须是中文字母或者数字<br>且长度需大于等于1位小于等于50位!";
        return true;
    }


//页面URL
    function isPageurl(handle){
        var pattern = /^[a-zA-Z0-9-_,./\u4E00-\u9FA5]{1,80}$/;
        if (!pattern.exec(handle.value)) return "必须是中文字母或者数字<br>且长度需大于等于`位小于等于80位!";
        return true;
    }

//目录路径
    function isDirctoryurl(handle){
        var pattern = /^[a-zA-Z0-9-_,.\\u4E00-\u9FA5]{1,300}$/;
        if (!pattern.exec(handle.value)) return "必须是中文字母或者数字<br>且长度需大于等于1位小于等于300位!";
        return true;
    }
    
//字母，数字，-
	function isNameNum(handle){
        var pattern = /^[a-zA-Z0-9-]{2,200}$/;
        if (!pattern.exec(handle.value)) return "必须是中文字母或者数字<br>且长度需大于等于2位小于等于200位!";
        return true;
    }


//高强度身份号码验证
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
function cidInfo(sId){
 var iSum=0
 var info=""
 if(!/^\d{17}(\d|x)$/i.test(sId))return false;
 sId=sId.replace(/x$/i,"a");
 if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";
 sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
 var d=new Date(sBirthday.replace(/-/g,"/"))
 if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
 for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
 if(iSum%11!=1)return "Error:非法证号";
 return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}
/*
document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
*/
function isip(s){
 var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
 var re=s.split(".")
 return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}

var s="202.197.78.129";
//alert(isip(s))

function isLargeNowDate (vdate){
	var now = new Date();
	var year=now.getFullYear();
	var month=now.getMonth()+1;
	var day=now.getDate();
	if(Number(month) < 10){
		month = "0" + month;
	}
	if(Number(day) < 10){
		day = "0" + day;
	}
	var nowtmp = year + "-" +  month + "-" + day;
	if(vdate.value >= nowtmp){
		return true;
	}
	return false;	
}
function lengCheck(pobj,msg,pleng) {
	var errorMsg = "";
	var temp = "";
	if(pobj.value.length > pleng){
		errorMsg += msg + "不能超过" + pleng + "个字符！\n";
		alert(errorMsg);
		temp = pobj.value;
		temp = temp.substring(0,pleng);
		pobj.value = temp;
	}
}
//较验浮点数
function checkfloatjlb(s){
	var str=s.value;
    var rc=true;
    oneDecimal=false;
	var pointcount=1;
	var smallnum=0;
    if (str+"" == "undefined" || str == null){
	rc=false;
    } else{
	for(i=0;i<str.length;i++){
	    ch=str.charAt(i);
	    if(i==0 && ch=='-'){
		continue;
	    }
	    if(ch=="." && !oneDecimal){
			oneDecimal=true;
		  	continue;
	    }
	    if(ch==".")
			pointcount++;
		if(pointcount>2){
		    rc=false;
			break;
		}
	    if ((ch<'0') || (ch >'9')){
	        rc=false;
	        break;
	    }
		if(oneDecimal && ch!='.'){
			smallnum++;
		}
		if(i<4&&ch=="."){
               continue;
		}else if(i>=4 && !oneDecimal){
         	rc=false;
	      	break;
		}
	   }
    }
    if(!rc || smallnum>2){
    	alert("请输入小数，小数点前最多为四位数字！小数点后可以精确到两位！");
    	s.value="";
    }
}

//较验浮点数
function checkfloatnum(s){
	var str=s.value;
    var rc=true;
    oneDecimal=false;
	var pointcount=1;
	var smallnum=0;
    if (str+"" == "undefined" || str == null){
	rc=false;
    } else{
	for(i=0;i<str.length;i++){
	    ch=str.charAt(i);
	    if(i==0 && ch=='-'){
		continue;
	    }
	    if(ch=="." && !oneDecimal){
			oneDecimal=true;
		  	continue;
	    }
	    if(ch==".")
			pointcount++;
		if(pointcount>2){
		    rc=false;
			break;
		}
	    if ((ch<'0') || (ch >'9')){
	        rc=false;
	        break;
	    }
		if(oneDecimal && ch!='.'){
			smallnum++;
		}
		if(i<2&&ch=="."){
               continue;
		}else if(i>=4 && !oneDecimal){
         	rc=false;
	      	break;
		}
	   }
    }
    if(!rc || smallnum>4){
    	alert("请输入小数，小数点前最多为四位数字！小数点后可以精确到四位！");
    	s.value="";
    }
}

function checkfloat(s){
	var str=s.value;
    var rc=true;
    oneDecimal=false;
	var pointcount=1;
	var smallnum=0;
    if (str+"" == "undefined" || str == null){
	rc=false;
    } else{
	for(i=0;i<str.length;i++){
	    ch=str.charAt(i);
	    if(i==0 && ch=='-'){
		continue;
	    }
	    if(ch=="." && !oneDecimal){
			oneDecimal=true;
		  	continue;
	    }
	    if(ch==".")
			pointcount++;
		if(pointcount>2){
		    rc=false;
			break;
		}
	    if ((ch<'0') || (ch >'9')){
	        rc=false;
	        break;
	    }
		if(oneDecimal && ch!='.'){
			smallnum++;
		}
	   }
    }
    if(!rc){
    	alert("请输入合法的数字！");
    	s.value="";
    }
}

function Trim(obj) 
{ 
	return obj.replace(/(^\s*)|(\s*$)/g, ""); 
} 

function LTrim(obj) 
{ 
	return obj.replace(/(^\s*)/g, ""); 
} 

function RTrim(obj) 
{ 
	return obj.replace(/(\s*$)/g, ""); 
} 


 function isCheckCode(handle){
  var pattern = /^(\d){1,4}$/;
    if (!pattern.exec(handle.value)) return "必须输入数字!";
    return true;
 }
 
 function clearFileInput(file){
    var form=document.createElement('form');
    document.body.appendChild(form);
    //记住file在旧表单中的的位置
    var pos=file.nextSibling;
    form.appendChild(file);
    form.reset();
    pos.parentNode.insertBefore(file,pos);
    document.body.removeChild(form);
}
//对日期有效的较验
function   isdate(strDate){   
        var   strSeparator   =   "-";   //日期分隔符   
        var   strDateArray;   
        var   intYear;   
        var   intMonth;   
        var   intDay;   
        var   boolLeapYear;   
    	strDateArray   =   strDate.split(strSeparator);   
        if(strDateArray.length!=3)   return   false;   
    
        intYear   =   parseInt(strDateArray[0],10);   
        intMonth   =   parseInt(strDateArray[1],10);   
        intDay   =   parseInt(strDateArray[2],10);   
    	if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay))   return   false;   
    
        if(intMonth>12||intMonth<1)   return   false;   
    
        if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1))   return   false;   
    
        if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1))   return   false;   
    
        if(intMonth==2){   
              if(intDay<1)   return   false;   
    
              boolLeapYear   =   false;   
              if((intYear%100)==0){   
                    if((intYear%400)==0)   boolLeapYear   =   true;   
              }   
              else{   
                    if((intYear%4)==0)   boolLeapYear   =   true;   
              }   
    
              if(boolLeapYear){   
                    if(intDay>29)   return   false;   
              }   
              else{   
                    if(intDay>28)   return   false;   
              }   
        }   
    
        return   true;   
  } 