/******************************************************** auther 博爱老头 date 2006-12-25 *********************************************************/ function checkLength(obj,minLen,maxLen,objName){ /******************************************************** 检查输入的值的长度是否合法。合法则返回true,非法返回false obj: 需要检验的参数 minLen: 最小长度。若为-1,表示不限制最小长度 maxLen: 最大长度。若为-1,表示不限制最大长度 objName: 业务名称 *********************************************************/ var objValue = trim(eval(obj).value); var len = objValue.length; if(maxLen!=-1){ if(len>maxLen){ alert(objName+"的长度不能大于"+maxLen); eval(obj).select(); return false; } } if(minLen!=-1){ if(len0 && v.charAt(0)==" "){ v = v.substring(1); } while(v.length>0 && v.charAt(v.length-1)==" "){ v = v.substring(0,v.length-1); } return v; } function checkUsername(obj){ /************************************ 检查用户名是否合法,合法则返回true,否则返回false 用户名只能由字母、数字、下划线、中划线组成,且只能以字母开头 *************************************/ var username = eval(obj).value; username = trim(username); var ch; var len = username.length; if(len<4 || len>20){ alert("用户名的长度必须在4至20之间"); eval(obj).select(); return false; } for(var i=0;i='A' && ch<='Z') || (ch>='a' && ch<='z') || (ch>='0' && ch<='9') || ch=='_' || ch=='-'){ continue; }else{ //非法字符 alert("用户名只能由字母、数字、下划线组成"); eval(obj).select(); return false; } }//end for i ch = username.charAt(0); if(!((ch>='A' && ch<='Z') || (ch>='a' && ch<='z'))){ alert("用户名只能以字母开头"); eval(obj).select(); return false; } return true; } function checkEmpty(obj,objName){ /************************************ 为空,则表示检查不通过,返回false,不为空,返回true; *************************************/ var s=eval(obj).value; s = trim(s); if(s.length==0){ alert(objName+"不能为空,请输入!"); eval(obj).focus(); return false; } return true; } function checkDataType(obj,objType,objName){ /*///////////////////////////////////////////////// obj: String,需要检验的参数 objType: int,参数值的正确类型 (1:字符串;2:整数;3:数值;4:日期(yyyy-mm-dd);5:邮件地址;) objName: String,参数的业务名称 *////////////////////////////////////////////////// var objValue = eval(obj).value; objValue = trim(objValue); switch (objType){ case 2: //检查是否数字 if (!isInt(objValue)){ alert("错误!" + objName + "必须为整数,请重新输入!"); eval(obj).select(); return false; } break; case 3: //检查是否数值 if (!isNumber(objValue)){ alert("错误!" + objName + "必须为数值,请重新输入!"); eval(obj).select(); return false; } break; case 4: //检查是否为日期 if (!isDate(objValue)){ alert("错误!" + objName + "必须为日期,且格式如'1977-11-09',请重新输入!"); eval(obj).select(); return false; } break; case 5: //检查是否为邮件地址 if(checkEmail(objValue)==false){ alert("错误!请在" + objName + "输入有效的邮件地址!"); eval(obj).select(); return false; } break; case 8: //检查是否为日期时间格式 if (isDateTime(objValue) == false){ alert("错误!" + objName + "必须为日期,且格式如'1977-11-09 21:23:45',请重新输入!") eval(obj).select(); return false; } else return true; break; } } function isNumber(val){ /************************************ 判断传入的变量是否为数字,是则返回true *************************************/ //去掉前后空格 var v = trim(val); if(v.length==0){ return false; } var num = parseFloat(v); if(isNaN(num)){ return false; }else{ return true; } } function isInt(val){ /************************************ 判断传入的变量是否为整数,是则返回true ************************************/ //去掉前后空格 var v = trim(val); if(v.length==0){ return false; } for(var i=0;i10) return false; tempArray = v.split(Dilimeter); if (tempArray.length!=3) return false; if (tempArray[0].length==4) { tempy = tempArray[0]; tempd = tempArray[2]; } else { tempy = tempArray[2]; tempd = tempArray[1]; } tempm = tempArray[1]; var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0'; var tempDate = new Date(tDateString); if (isNaN(tempDate)) return false; while (tempm.substring(0,1) == "0") tempm = tempm.substring(1); while (tempd.substring(0,1) == "0") tempd = tempd.substring(1); if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd))) return true; else return false; } function isDateTime(DateTimeString){ /************************************ 验证是否为日期时间类型,是则返回true 只有格式如同以下的字符串才是日期时间型:'2004-04-22 15:53:27' ************************************/ //去掉前后空格 var v = trim(DateTimeString); if (v == null) return true; if (v == "") return true; var timeStart = v.indexOf(" "); var DateString = v.substring(0,timeStart); if (DateString==null) return false; var Dilimeter; Dilimeter = '-'; var tempy=''; var tempm=''; var tempd=''; var tempArray; if (DateString.length<8 && DateString.length>10){ return false; } tempArray = DateString.split(Dilimeter); if (tempArray.length!=3) { return false; } if (tempArray[0].length==4) { tempy = tempArray[0]; tempd = tempArray[2]; } else { tempy = tempArray[2]; tempd = tempArray[1]; } tempm = tempArray[1]; var TimeString = v.substring(timeStart + 1); Dilimeter = ':'; var temph=''; var tempmi=''; var temps=''; var tempArray1; if (TimeString.length<5 && TimeString.length>8){ return false; } tempArray1 = TimeString.split(Dilimeter); if (tempArray1.length!=3){ return false; } temph = tempArray1[0]; tempmi = tempArray1[1]; temps = tempArray1[2]; var DateString = tempy + '/'+tempm + '/'+tempd+' ' + temph + ':' + tempmi + ':' + temps; var tempDate = new Date(DateString); if (isNaN(tempDate)){ return false; } while (tempm.substring(0,1) == "0") tempm = tempm.substring(1); while (tempd.substring(0,1) == "0") tempd = tempd.substring(1); if (temph.substring(0,1) == "0") temph = temph.substring(1); if (tempmi.substring(0,1) == "0") tempmi = tempmi.substring(1); if (temps.substring(0,1) == "0") temps = temps.substring(1); if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd)) && (tempDate.getHours() == parseInt(temph)) && (tempDate.getMinutes() == parseInt(tempmi)) && (tempDate.getSeconds() == parseInt(temps)) ){ return true; } else{ if ((tempm == "1") && (tempd == "1")){ if (((tempDate.getUTCFullYear()).toString()==parseInt(tempy)-1) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd)) && (tempDate.getHours() == parseInt(temph)) && (tempDate.getMinutes() == parseInt(tempmi)) && (tempDate.getSeconds() == parseInt(temps)) ){ return true; } } return false; } } function isEnglish(name) //英文值检测 { /*********************************** 如果name里的字符全部是ASCII码,返回true,否则返回false ************************************/ if(name.length == 0) return false; for(i = 0; i < name.length; i++) { if(name.charCodeAt(i) > 128) return false; } return true; } //检查是否IP地址 function checkIfIP(ipstr){ if (ipstr.length == 0) { return false; } while(ipstr.length>0 && ipstr.charAt(0)==" "){ ipstr = ipstr.substring(1); } while(ipstr.length>0 && ipstr.charAt(ipstr.length-1)==" "){ ipstr = ipstr.substring(0,ipstr.length-1); } var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/; var IPArray = ipstr.match(ipDomainPat); if (IPArray != null) { for (var i = 1; i <= 4; i++) { if (IPArray[i] > 255) { return false; }//if }//for return true; }//if } //判断是否为EMAIL地址 function checkEmail(emailStr) { if (emailStr.length == 0) { return true; } var emailPat=/^(.+)@(.+)$/; var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; var validChars="\[^\\s" + specialChars + "\]"; var quotedUser="(\"[^\"]*\")"; var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/; var atom=validChars + '+'; var word="(" + atom + "|" + quotedUser + ")"; var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$"); var matchArray=emailStr.match(emailPat); if (matchArray == null) { return false; } var user=matchArray[1]; var domain=matchArray[2]; if (user.match(userPat) == null) { return false; } var IPArray = domain.match(ipDomainPat); if (IPArray != null) { for (var i = 1; i <= 4; i++) { if (IPArray[i] > 255) { return false; } } return true; } var domainArray=domain.match(domainPat); if (domainArray == null) { return false; } var atomPat=new RegExp(atom,"g"); var domArr=domain.match(atomPat); var len=domArr.length; if ((domArr[domArr.length-1].length < 2) || (domArr[domArr.length-1].length > 3)) { return false; } if (len < 2) { return false; } return true; } //EMAIL的判断 function isemail(str){ var flag=true; if((str.length ==0) ||(str==null)){ flag=true; }else{ var atindex =str.indexOf('@'); var dotindex=str.indexOf('.',atindex); thesub =str.substring(0,dotindex+1); if((atindex<1)||(atindex!=str.lastIndexOf('@'))||(dotindex