转载:PHPSOHO /*****************functions.js**********************/ /***检查表单所有元素***/ function checkForm(formName) { var oForm=document.all(formName); var eles = oForm.elements; //var els //遍历所有表元素 for(var i=0;i<eles.length;i++) { //是否需要验证 var sType=eles[i].valueType; if(sType) { if(eles[i].mustInput!=null && eles[i].mustInput=="true") { //els=eles[i].value; //els=trim(els); if(trim(eles[i].value)=="") { if(eles[i].objName!=null) { alert(eles[i].objName+" 不可以为空"); } else { alert("该文本框为必输字段"); } eles[i].focus(); event.returnValue=false; return false; } } switch(sType) { //整数 case "int": if(!validInt(eles[i])) { event.returnValue=false; return false; } break; //小数 case "float": if(!validFloat(eles[i])) { event.returnValue=false; return false; } break; //字符串 case "string": if(!validString(eles[i])) { event.returnValue=false; return false; } break; //日期 case "date": if(!validDate(eles[i])) { event.returnValue=false; return false; } break; //邮件 case "email": if(!validEmail(eles[i])) { event.returnValue=false; return false; } break; //单选按钮 /*case "radio": if(!validRadio(eles[i])) { event.returnValue=false; return false; } break; //复选按钮 case "checkbox": if(!validBox(eles[i])) { event.returnValue=false; return false; } break;*/ //下拉列表框 case "select": if(!validSelect(eles[i])) { event.returnValue=false; return false; } break; //列表框 case "list": if(!validList(eles[i])) { event.returnValue=false; return false; } break; } } } event.returnValue=true; return true; } /***验证是否为整数***/ function validInt(ele) { if(!isInt(ele.value)) { alert("请输入有效整数"); ele.focus(); return false; } else { if(ele.maxInput!=null && !isNaN(ele.maxInput)) if(parseInt(ele.maxInput)<parseInt(ele.value)) { alert("您输入的 "+ convertNullToSpace(ele.objName)+" 值应该小于"+ele.maxInput); ele.focus(); return false; } if(ele.minInput!=null && !isNaN(ele.minInput)) if(parseInt(ele.minInput)>parseInt(ele.value)) { alert("您输入的 "+ convertNullToSpace(ele.objName)+" 值应该大于"+ele.minInput); ele.focus(); return false; } } return true; } /***判断是否为整数***/ function isInt(s) { var patrn=/^0|^[1-9]d*/; if (!patrn.exec(s)) { return false; } else { return true; } } /***验证是否为小数***/ function validFloat(ele) { if(isNaN(ele.value)) { alert("请输入有效数字"); ele.focus(); return false; } else { if(ele.decimalLen!=null && !checkDecimal(ele.value,ele.decimalLen)) { alert("您输入的 "+convertNullToSpace(ele.objName)+" 值小数位最多为"+ele.decimalLen+"个小数位"); ele.focus(); return false; } if(ele.maxInput!=null && !isNaN(ele.maxInput)) if(parseInt(ele.maxInput)<parseInt(ele.value)) { alert("您输入的 "+ convertNullToSpace(ele.objName)+" 值应该小于"+ele.maxInput); ele.focus(); return false; } if(ele.minInput!=null && !isNaN(ele.minInput)) if(parseInt(ele.minInput)>parseInt(ele.value)) { alert("您输入的 "+ convertNullToSpace(ele.objName)+" 值应该大于"+ele.minInput); ele.focus(); return false; } } return true; } /***验证是否为字符串***/ function validString(ele) { if(ele.stringLen!=null && !isNaN(ele.stringLen)) { var value=new String(ele.value); if(value.length>parseInt(ele.stringLen)) { alert("您输入的 "+convertNullToSpace(ele.objName)+" 字数最大长度为"+ele.stringLen); ele.focus(); return false; } } return true; } /***验证是否为日期格式***/ function validDate(ele) { if(!isDate(ele.value)&&ele.value!="") { alert("请输入有效日期(yyyy-mm-dd)"); ele.focus(); return false; } return true; } /***判断是否为日期***/ 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]); if(!(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4])) { return false; } return true; } /***验证是否为电子邮箱***/ function validEmail(ele) { if(!isEmail(ele.value)) { alert("请输入有效邮箱"); ele.focus(); return false; } return true; } /***判断是否为邮箱***/ function isEmail(str) { if(str.match(/[w-.]+@{1}[w-]+.{1}w{2,4}(.{0,1}w{2}){0,1}/ig)!=str) return false; else return true; } /***验证单选按钮是否需要选择***/ function validRadio(ele) { //var rads = document.getElementsByName(ele.name); eval("var rads="+name+"."+ele.name); var selectCount=0; for(var i=0;i<rads.length;i++) { if(rads[i].checked) { selectCount++; } } if(ele.mustSelect!=null && ele.mustSelect) { if(selectCount==0) { alert("请选择"+convertNullToSpace(ele.objName)); ele.focus(); return false; } } return true; } /***验证复选按钮是否需要选择***/ function validBox(ele) { //var rads = document.getElementsByName(ele.name); eval("var chks="+name+"."+ele.name); var selectCount=0; for(var i=0;i<chks.length;i++) { if(chks[i].checked) { selectCount++; } } if(ele.minSelect!=null && !isNaN(ele.minSelect)) { if(selectCount<parseInt(ele.minSelect)) { alert(convertNullToSpace(ele.objName)+"至少选择"+ele.minSelect+"项"); ele.focus(); return false; } } if(ele.maxSelect!=null && !isNaN(ele.maxSelect)) { if(selectCount>parseInt(ele.maxSelect)) { alert(convertNullToSpace(ele.objName)+"至多选择"+ele.maxSelect+"项"); ele.focus(); return false; } } return true; } /***验证下拉列表框是否需要选择***/ function validSelect(ele) { //var rads = document.getElementsByName(ele.name); if(ele.mustSelect!=null && ele.mustSelect) { if(ele.selectedIndex==0) { alert("请选择"+convertNullToSpace(ele.objName)); ele.focus(); return false; } } return true; } /***验证列表框的选择项数***/ function validList(ele) { //var rads = document.getElementsByName(ele.name); var selectCount=0; for(var i=0;i<ele.options.length;i++) { if(ele.options[i].selected) { selectCount++; } } if(ele.minSelect!=null && !isNaN(ele.minSelect)) { if(selectCount<parseInt(ele.minSelect)) { alert(convertNullToSpace(ele.objName)+"至少选择"+ele.minSelect+"项"); ele.focus(); return false; } } if(ele.maxSelect!=null && !isNaN(ele.maxSelect)) { if(selectCount>parseInt(ele.maxSelect)) { alert(convertNullToSpace(ele.objName)+"至多选择"+ele.maxSelect+"项"); ele.focus(); return false; } } return true; } /***将NULL转化为空格,用于显示对象名称***/ function convertNullToSpace(paramValue) { if(paramValue==null) return ""; else return paramValue; } /***检查小数位数***/ function checkDecimal(num,decimalLen) { var len = decimalLen*1+1; if(num.indexOf('.')>0) { num=num.substr(num.indexOf('.')+1,num.length-1); if ((num.length)<len) { return true; } else { return false; } } return true; } /***去除空格***/ function trim(str) { if (str.length > 0) { while ((str.substring(0,1) == " ") && (str.length > 0)) { str =str.substring(1,str.length); } while (str.substring(str.length-1,str.length) == " ") { str = str.substring(0,str.length-1); } } return str; }
|