/* 根据传入的类型返回正则表达式,如果类型不存在则返回空。 */ function regex(type) { /*验证是否数字 /^[4|1|2|3|5|6|7|8|9]\d+$/; */ if (type == 'int') return /^\d+$/; /*验证是否是大于0的整数*/ if(type=='sum') return /^[1|2|3|4|5|6|7|8|9]\d{0,10}$/; /*email校验*/ if (type == 'email') return /^\w+@\w+\.\w+/; /*15位身份证*/ if (type == 'cert15') return /^\d{15}$/; /*18位身份证*/ if (type == 'cert18') return /^\d{17}[0-9Xx]{1}$/; /* 只能输入ASCII字符(非空)*/ if (type == 'ascii') return /^\w+$/; /* 日期校验 yyyy-mm-dd*/ if (type == 'date(yyyy-mm-dd)') return /^\d{4}-[01]{1}\d{1}-[0123]{1}\d{1}$/; /* 日期校验 yyyy/mm/dd*/ if (type == 'date(yyyy/mm/dd)') return /^\d{4}\/[01]{1}\d{1}\/[0123]{1}\d{1}$/; /* 浮点数精度定义*/ if (type == 'float(2)') return /^\d+\.{0,1}\d{0,2}$/; /* 邮编 */ if (type == 'postcode') return /^\d{6}$/; /* 移动电话 */ if (type == 'mobphone') return /^[1][3][0|1|2|3|5|6|7|8|9]\d{8}$/; /* 固定电话 */ if (type == 'phone') return /^[1|2|3|4|5|6|7|8|9]\d{6,7}$/; /* 电话地区号 */ if (type == 'areacode') return /^[0][1|2|3|4|5|6|7|8|9]\d{1,2}$/; /* 日期校验 yyyy-mm*/ if (type == 'billingcycl') return /^\d{4}-[01]{1}\d{1}$/; return ''; } /* 校验是否输入正确的业务号码 v1 业务号码 v2 网别 */ function validate(v1,v2){ v2 = v2.trim(); v1 = v1.trim(); var pat = new Array(); pat["A"] = /^[1][3][0|1|2|3]\d{8}$/; pat["P"] = /^\d+\d{8}$/; pat["E"] = /^\S+$/; pat["G"] = /^[1][3][0|1|2]\d{8}$/; pat["C"] = /^[1][3][3]\d{8}$/; pat["M"] = /^[1][3][0|1|2|3]\d{8}$/; var ret = pat[v1].exec(v2); if(!ret) return false; return true; } /* 用正则表达式去掉字符串前后的空格 */ String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } /* 验证证件类型和证件号码是否合法 type: 证件类型 num: 证件号码 */ function check_certnum(type,num) { if(num.value.length == 0) return true; if(type.value == null || type.value == "") { alert("证件类型不能为空"); type.focus(); return false; } //十五位身份证验证 if(type.value == '10') { if (num.value.length != 15){ alert("身份证输入错误必须输入15位有效数字!"); num.value = ""; num.focus(); return false; } var thePat=/[0-9]{15}/; var gotIt = thePat.test(num.value); if (!gotIt) { alert("身份证输入错误"); num.value = ""; num.focus(); return false; } } //十八位身份证验证 if(type.value == '11') { if (num.value.length != 18){ alert("身份证输入错误必须输入18位有效数字!"); num.value = ""; num.focus(); return false; } var thePat=/[0-9]{17}[0-9Xx]{1}/; var gotIt = thePat.test(num.value); if (!gotIt) { alert("身份证输入错误"); num.value = ""; num.focus(); return false; } } return true; } function checkmoney(para,Desc) { var pat1 = /^\d+\.\d{2}$/; var pat2= /^\d+\.\d{1}$/; var pat3= /^\d+$/; var ret1 = pat1.test(para.value); var ret2 = pat2.test(para.value); var ret3 = pat3.test(para.value); if (ret1||ret2||ret3) { return true; } else { alert(Desc); //清空数据 para.value = ''; //设置焦点 para.focus(); return false; } } /* 接收Enter键输入, 使焦点指向对象a下一个可见且没有被disable的对象 a: 页面上的HTML元素名,一般直接写this即可 */ function keyDown(a) { var key=window.event.keyCode; var form; form = document.forms[0]; if (key == 13) { for (k = 0 ; k < form.length ;k++) if (form.elements[k] == a) i = k + 1; if (i == form.length) return; while(form.elements[i].disabled == true || form.elements[i].type == 'hidden' || form.elements[i].type == 'button') { i++; if (i == form.length) return; } form.elements[i].focus(); } } /* 校验用户两次输入的密码是否相同 t1: 密码 t2: 重新输入的密码 */ function check_pwd(t1,t2) { var pat = /^\d{6}$/; if(t1.value=="" && t2.value == "") return true; var ret = pat.exec(t1.value); if(!ret) { alert("密码必须是6位数字!"); t1.value = ""; t2.value = ""; t1.focus(); return false; } if(t1.value != t2.value) { alert("两次输入的密码不同,请重新输入!"); t1.value = ""; t2.value = ""; t1.focus(); return false; } return true; } /* mask函数实现对于定制类型的HTML元素的校验 参数说明: 1、ElementName : 页面上的HTML元素名,一般直接写this即可 2、Type:要校验的类型,系统预定义了一些类型,可以写,也可以自己定义正则表达式。 3、ErrDesc:错误描述,如果校验不通过显示的提示内容。 函数使用位置: 该函数一般在元素的onblur事件中触发 */ function mask(ElementName,Type,ErrDesc) { //如果该元素没有任何数据,则不需要校验 if (ElementName.value.length == 0) { return true; } //如果类型没有指定则不做任何限制 if (Type.length == 0) return true; var pat = regex(Type); if (pat == '') { pat = Type; } var ret = pat.test(ElementName.value); if (ret) { return true; } else { //显示错误描述 if (ErrDesc == null || ErrDesc == "") { alert("该值不合法!"); } else { alert(ErrDesc); } //清空数据 ElementName.value = ''; //设置焦点 ElementName.focus(); return false; } } /* 非空校验的函数 */ function IsNull(FormName) { var form; if (FormName == "" || FormName == null){ form = document.forms[0]; }else{ form = FormName; } //遍历form元素 for (i = 0 ; i < form.length ;i++){ if (form.elements[i].NullCheck == '1' && form.elements[i].value == '' && form.elements[i].disabled == false){ if (form.elements[i].ErrDesc == null || form.elements[i].ErrDesc == ''){ alert("该值不能为空!!"); }else{ alert(form.elements[i].ErrDesc); } form.elements[i].focus(); return true; } } return false; } /* 用来建立临时数组的对象 */ function OBJECT_TEMP(a,b,c){ this.myArray = a; this.col = b; this.id = c; } /* 根据传入的对象的名称、过滤的列的名称、以及列的值返回一个过滤后的对象 Obj是数据对象,(不是字符串,请不要用引号或者双引号),如果只知道名称可以通过调用getobjectbyname('对象名称')来获取 */ function getvalue(Obj,ColName,ColVal) { var a = new Array(); var b = new Array(); var irow = 0; var flag = 0; //创建列数组 for (var i=0;i= 0 ; i--) { listname.options[i] = null; } listname.length = 0; } //根据列表框来获取该列表框的所对应的数据对象,针对下拉框和数据对象绑定的情况 function getobject(listname) { if (listname.name == null || listname.name == "") { alert("请为列表框指定名称(name属性)!"); return false; } if (listname.datacolumn == null || listname.datacolumn == "") { alert("请为列表框指定数据列(datacolumn属性)!"); return false; } if (listname.displaycolumn == null || listname.displaycolumn == "") { alert("请为列表框指定显示列(displaycolumn属性)!"); return false; } try{ var rtn = eval((listname.name + "_OBJECT").toUpperCase()); var tt = new rtn; return tt; }catch(e) { alert("该列表框没有和数据对象绑定或绑定错误,请检查!"); return false; } } /* 1、这个主要是在创建的不和下拉框绑定的数据对象的时候,要访问这些对象可以使用该方法 根据数据对象的名称来获取数据对象 2、如果知道数据对象的名称,也可以通过该方法来得到对应的数据对象 */ function getobjectbyname(dataname) { if (dataname == null || dataname == "") { alert("数据对象的名称不能为空!"); return false; } try{ var rtn = eval((dataname + "_OBJECT").toUpperCase()); var tt = new rtn; return tt; }catch(e) { alert("对不起,您要访问的数据对象不存在!"); return false; } } /* 根据当前选中的数值过滤另外一个下拉框 curlistname当前选择的列表名 curfiltercol用来作为过滤值的列名 listname:被过滤的列表的名称 filtercolumn:过滤列 datacol:数据列 display:显示列 */ function filterlist(curlistname,curfiltercol,listname,filtercolumn,datacol,display) { //根据当前下拉列表创建对象 var cur = getobject(curlistname); if (cur == false) return false; //获取选中行的ID var id = getid(curlistname); if (id == -1) return false; //如果ID为空,则清空被过滤的列表的数据 if (id == null || id == "") { deldata(listname); return false; } //获取数据 var data = getvaluebyid(cur,id,curfiltercol); if (data == false) return false; var obj = getobject(listname); if (obj == false) return false; //根据条件查询满足条件的数据 var rtn = getvalue(obj,filtercolumn,data); if (rtn == false) return false; //填写数据到下拉列表中 var tt = filldata(rtn,listname,datacol,display); if (tt == false) return false; } //根据指定列、以及指定的列的值来过滤下拉列表 function filterbycol(colname,colvalue,listname,datacol,display) { //查找列表框对象 var obj = getobject(listname); if (obj == false) return false; //根据条件查询满足条件的数据 var rtn = getvalue(obj,colname,colvalue); if (rtn == false) return false; //填写数据到下拉列表中 var tt = filldata(rtn,listname,datacol,display); if (tt == false) return false; } //根据指定列、以及指定的列的值来过滤下拉列表 function filldatafilter(colname,colvalue,listname,obj,datacol,display) { //根据条件查询满足条件的数据 var rtn = getvalue(obj,colname,colvalue); if (rtn == false) return false; //填写数据到下拉列表中 var tt = filldata(rtn,listname,datacol,display); if (tt == false) return false; } function _selectAll(obj,self) { if (obj) { if (obj.length) { for (var i=0; i24 || result[3]>60 || result[4]>60) return false; return true; } // Function Name: isValidEmail // Function Description: 判断输入是否是有效的电子邮件 // Creation Date: 2004-7-13 9:59 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidEmail=function() { var result=this.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/); if(result==null) return false; return true; } // Function Name: isValidDatetime // Function Description: 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" // Creation Date: 2004-7-13 9:59 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidDatetime=function() { var result=this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); if(result==null) return false; var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]); return (d.getFullYear()==result[1]&&(d.getMonth()+1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]); } // Function Name: isValidInteger // Function Description: 判断输入是否是一个整数 // Creation Date: 2004-7-13 10:01 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidInteger=function() { var result=this.match(/^(-|\+)?\d+$/); if(result==null) return false; return true; } // Function Name: isValidPositiveInteger // Function Description: 判断输入是否是一个正整数 // Creation Date: 2004-7-13 10:01 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidPositiveInteger=function() { var result=this.match(/^\d+$/); if(result==null) return false; if(parseInt(this)>0) return true; return false; } // Function Name: isValidNegativeInteger // Function Description: 判断输入是否是一个负整数 // Creation Date: 2004-7-13 10:28 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidNegativeInteger=function() { var result=this.match(/^-\d+$/); if(result==null) return false; return true; } // Function Name: isValidNumber // Function Description: 判断输入是否是一个数字 // Creation Date: 2004-7-13 10:01 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidNumber=function() { return !isNaN(this); } // Function Name: isValidLetters // Function Description: 判断输入是否是一个由 A-Z / a-z 组成的字符串 // Creation Date: 2004-7-13 10:10 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidLetters=function() { var result=this.match(/^[a-zA-Z]+$/); if(result==null) return false; return true; } // Function Name: isValidDigits // Function Description: 判断输入是否是一个由 0-9 组成的数字 // Creation Date: 2004-7-13 10:10 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidDigits=function() { var result=this.match(/^[1-9][0-9]+$/); if(result==null) return false; return true; } // Function Name: isValidAlphanumeric // Function Description: 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串 // Creation Date: 2004-7-13 10:14 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidAlphanumeric=function() { var result=this.match(/^[a-zA-Z0-9]+$/); if(result==null) return false; return true; } // Function Name: isValidString // Function Description: 判断输入是否是一个由 0-9 / A-Z / a-z / . / _ 组成的字符串 // Creation Date: 2004-7-13 10:20 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidString=function() { var result=this.match(/^[a-zA-Z0-9\s.\-_]+$/); if(result==null) return false; return true; } // Function Name: isValidPostalcode // Function Description: 判断输入是否是一个有效的邮政编码 // Creation Date: 2004-7-13 10:22 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidPostalcode=function() { var result=this.match(/(^[0-9]{6}$)/); if(result==null) return false; return true; } // Function Name: isValidPhoneNo // Function Description: 判断输入是否是一个有效的电话号码 // Creation Date: 2004-7-13 10:22 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidPhoneNo=function() { var result=this.match(/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/); if(result==null) return false; return true; } // Function Name: isValidMobileNo // Function Description: 判断输入是否是一个有效的手机号码 // Creation Date: 2004-7-13 10:23 // Last Modify By: N/A // Last Modify Date: N/A String.prototype.isValidMobileNo=function() { var result=this.match(/(^0{0,1}13[0-9]{9}$)/); if(result==null) return false; return true; } function checkLength(obj, length) { if (obj.value.len()>length) { alert("您输入的字符超长!"); obj.focus(); return false; } return true; } function notSelected(id) { var count=0; var obj = document.all[id]; if (obj) { if (obj.length) { for (var i=0; i