js常用工具种(二次更新)
js常用工具类(二次更新)
js常用方法将会不断更新
/* 说明:去除字符串两边空格函数 参数obj:要去除空格的文本框 返回值:去除空格之后的字符串 */ function trim(obj) { return String(obj.value).replace(/(^\s*)|(\s*$)/g, ""); } /* 说明:显示错误信息函数 参数obj:出现错误信息的文本框 参数errmsg:错误信息 */ function showError(obj, errmsg) { alert(errmsg); try{ obj.focus(); } catch(e) { } } /* 说明:检查是否为空函数 参数obj:要检查的文本框 返回值:判断结果 true不为空 false为空 */ function checkEmpty(obj) { if(obj == "") { return false; } else { return true; } } /* 说明:检查长度函数 参数obj:要检查长度的文本框 参数min:最小长度 参数max:最大长度 返回值:判断结果 true在要求长度中 false超出要求长度 */ function checkLength(obj, min, max) { if(obj.length < min || obj.length > max) { return false; } else { return true; } } /* 说明:下拉列表选中函数 参数obj:要选中的下拉列表 参数selectvalue:标识选中的参数 */ function selectitem(obj , selectvalue){ var options = obj.options; for(var i = 0; i < options.length; i++) { if(selectvalue == options[i].value) { options[i].selected = true; } } } /* 说明:判断value变量值是否是数字 参数value:输入值 返回值:是数字返回true,否则false */ function isNumeric(value){ if( value != null && value.length>0 && isNaN(value) == false){ return true; } else{ return false; } } /* 说明:判断value变量值是否是中文 参数value:输入值 返回值:是中文返回false,否则true */ function isChn(str){ var reg = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/; if(reg.test(str)){ return false; } return true; } /* 说明:对复选框的全选或不选 参数state:输入值 1 全选 2 全部选 返回值:是中文返回false,否则true */ function change(state){ try{ var checks=document.getElementsByTagName("input"); var i=0; var length=checks.length; var flag=true; if(state==1){ flag=true; } if(state==0){ flag=false; } for(i;i<length;i++){ if(checks[i].type=="checkbox"){ checks[i].checked=flag; } } }catch(e){ window.alert(e.message); } }
/** * <code>DateUtil</code>类用于封装常用的日期处理操作 */ var DateUtil = function(year,month,day,hour,minute,second){ /** curDateTime 当前客户端日期时间*/ this.curDateTime = new Date(); /** * <code>getDateTime</code>方法返回Date类型对象 * */ this.getDateTime = function(){ var date = null; if((year==null && month==null && day==null && hour == null && minute == null && second == null)){ date = this.curDateTime; }else if(year != null && month != null && day != null && hour == null && minute == null && second == null){ date = new Date(year,month-1,day); }else if(year != null && month != null && day != null && hour != null && minute != null && second != null){ date = new Date(year,month-1,day,hour,minute,second); } return date; }; /** * <code>getYear</code>方法取得年值 * */ this.getYear = function(){ var year = null; var dateTime = this.getDateTime(); if(dateTime != null){ year = dateTime.getFullYear(); }else{ year = this.curDateTime.getFullYear(); } return year; }; /** * <code>getMonth</code>方法取得月值 * */ this.getMonth = function(){ var month = null; var dateTime = this.getDateTime(); if(dateTime != null){ month = dateTime.getMonth() + 1; }else{ month = this.curDateTime.getMonth() + 1; } return month; }; /** * <code>getDay</code>方法取得日值 * */ this.getDay = function(){ var day = null; var dateTime = this.getDateTime(); if(dateTime != null){ day = dateTime.getDate(); }else{ day = this.curDateTime.getDate(); } return day; }; /** * <code>getHour</code>方法取得24进制小时 * */ this.getHour = function(){ var hour = null; var dateTime = this.getDateTime(); if(dateTime != null){ hour = dateTime.getHours(); }else{ hour = this.curDateTime.getHours(); } return hour; }; /** * <code>getMinute</code>方法取得分值 * */ this.getMinute = function(){ var minute = null; var dateTime = this.getDateTime(); if(dateTime != null){ minute = dateTime.getMinutes(); }else{ minute = this.curDateTime.getMinutes(); } return minute; }; /** * <code>getSecond</code>方法取得秒值 * */ this.getSecond = function(){ var second = null; var dateTime = this.getDateTime(); if(dateTime != null){ second = dateTime.getSeconds(); }else{ second = this.curDateTime.getSeconds(); } return second; }; /** * <code>getDateRange</code>方法用于得到一天之内的时刻范围 * * @return range ["凌晨"|"上午"|"中午"|"下午"|"晚上"] */ this.getDateRange = function(){ var hour = window.parseInt(this.getHour()); var range = "凌晨" if(hour >= 6 && hour < 11){ range = "早晨"; }else if(hour >=11 && hour < 14){ range = "中午"; }else if(hour >=14 && hour <= 18){ range = "下午"; }else if(hour >18 && hour < 24){ range = "晚上"; } return range; }; /** * <code>get12PatternHour</code>方法用于得到12进制小时值 * */ this.get12PatternHour = function(){ return hour>12?(hour+12-24):hour; }; /** * <code>isLeapYear</code>方法用于判断是否为闰年 * <p> * 闰年算法说明: * 能被4整除并且不能被100整除或者能被400整除的年份是闰年 */ this.isLeapYear = function(){ var flag = false; if((this.getYear() % 4 == 0 && this.getYear() % 100 !=0) || (this.getYear() % 400 == 0)){ flag = true; } return flag; }; /** * <code>getMaxDaysByMonth</code>方法根据月份获取该月的最大天数 * */ this.getMaxDaysByMonth = function(){ var days = 31; var month = this.getMonth(); switch(month){ case 2: if(this.isLeapYear()){ days = 29; }else{ days = 28; } break; case 4: case 6: case 9: case 11: days = 30; break; default: break; } return days; } } /** * <code>isEmptyString</code>方法用于检查字符串是否为空字符串 * <p> * @return boolean false → 不是空串 true → 是空串 */ function isEmptyStr(str){ if(trim(str).length == 0 || str==null){ return true; }else{ return false; } } /** * <code>isEqualString</code>方法用于检查两个字符串是否相等 * <p> * @return boolean false → 不相等 true → 相等 */ function isEqualStr(str1,str2){ if(str1 == str2){ return true; }else{ return false; } } /** * <code>isValidateCols</code>方法用于检查字符串是否是有效位数 * <p> * @return boolean false → 不是制定位数 true → 是指定位数 */ function isValidateMinCols(str,cols){ if(str.length >= cols){ return true; }else{ return false; } } function isValidateMaxCols(str,cols){ if(str.length <= cols){ return true; }else{ return false; } } function isValidateRangeCols(str,min,max){ if(str.length >= min && str.length <=max){ return true; }else{ return false; } } /** * <code>isValidateEmail<code>方法用于检查email格式是否正确 * <p> * @return boolean false → 无效Email true → 有效Email */ function isValidateEmail(email){ var emailPattern = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))" + //"@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil" + "@([a-zA-Z0-9-]+[.])+(cn|net|NET|com|COM|gov|GOV|mil" + "|MIL|org|ORG|edu|EDU|int|INT)$" var re = new RegExp(emailPattern); if(re.test(email)){ return true; }else{ return false; } } /** * <code>trim</code>方法用于去掉字符串两边的空格 * <p> */ function trim(str){ str = trimLeft(trimRight(str)); return str; } /** * <code>trimLeft</code>方法用于去除字符串左侧的空格 * <p> * @param str 预处理的字符串 * @return 去掉左侧空格的字符串 */ function trimLeft(str){ var pattern = /^\s/; while(pattern.test(str)){ str = str.substring(1); } return str; } /** * <code>trimRight</code>方法用于去除字符串右侧的空格 * <p> * @param str 预处理字符串 * @return 去掉右侧空格的字符串 */ function trimRight(str){ var pattern = /\s$/; while(pattern.test(str)){ str = str.substring(0,str.length-1); } return str; }