jQuery.extend({ //===============================页面效果处理=============================== //加水印事件 eventfaultext: function(e){ var id = e.data.id; var defnocolor = e.data.defnocolor; var text = e.data.text; if($("#" + id).val() == ""){ $("#" + id).css("color",defnocolor); $("#" + id).val(text); } }, //加水印 //id: input的编号; deftext:默认的提示字符,(可选,默认为空间当前value); nocolor:用户无输入时显示子的颜色,(可选); color:用户输入后显示颜色,(可选)。 adddefaultext: function(id, deftext, nocolor, color){var defnocolor = "#999" var defcolor = "#000"; //没有输入时字体的颜色 if(nocolor) defnocolor = nocolor; //有输入时字体的颜色 if(color) defcolor = color; //没有输入时显示的内容 var text = deftext ? deftext : $("#" + id).val(); //初始颜色 if($("#" + id).val() == deftext) $("#" + id).css("color",defnocolor); //处理事件 $("#" + id).bind("focus", function(){ if($("#" + id).val() == text){ $("#" + id).css("color",defcolor); $("#" + id).val(""); } }); $("#" + id).unbind("blur", $.eventfaultext); $("#" + id).bind("blur", {id:id, defnocolor:defnocolor, text:text}, $.eventfaultext); if($("#" + id).val() == "" || $("#" + id).val() == text){ $("#" + id).css("color",defnocolor); $("#" + id).val(text); } }, //限制输入框字数 //id:输入框id //count:限制字数 //isdb:是否区别双字节 limitwordscount: function(id, count, isdb){ var t = true; if(isdb != undefined) t = isdb; var $m = $("#" + id); $m.bind("keyup", function(){ var v = $m.val(); if(t){ if($.getstringslength(v) > count) $m.val($.getsubString(v, count)); } else{ if(v.length > count) $m.val(v.substr(0, count)); } }); }, //限制输入类型 inputcheck: function(o){ var $m = $("#" + o.id); if(o.number){ $m.bind("keyup", function(){ var value = $m.val();; value = value.replace(/\D/g, ""); $m.val(value); }); } }, //===============================字符串处理=============================== //去除字符串value首尾的tag strimstring: function(value, tag) { if(!value || value == "") return ""; var b = true; while(b) { if(value.substring(0, tag.length) == tag) value = value.substring(tag.length); else b = false; } b = true; while(b) { if(value.substring(value.length - tag.length) == tag) value = value.substring(0, value.length - tag.length); else b = false; } return value; }, //获取字符串长度(双字节字符长度计2) getstringslength:function(strings){ if(!strings) return 0; var len = strings.length; var i = 0; var count = 0; while(i < len){ var t = strings.substr(i,1); if(t.charCodeAt()>=299){ count += 2; } else{ count += 1; } i++; } return count; }, //截取字符串(双字节字符长度计2) getsubString:function(strings, count, add){ if(count > jQuery.getstringslength(strings)) return strings; var str = ""; var i = 0; var len = 0; while(len < count){ if(strings.substr(i,1).charCodeAt()>=299){ len += 2; } else{ len += 1; } str += strings.substr(i,1); i++; } if(add && str.length < strings.length) str += "..."; return str; }, //字符串sub是否在以spilt分割的字符串string中 substrisin:function(string, sub, split){ var list = string.split(split); return $.inarray(sub, list); }, //===============================数组处理=============================== //检查值是否在数组中 //value,值 //array,数组 inarray:function(value, array){ for(var i in array){ if(array[i] == value) return true; } return false; }, //删除数组中的某值,返回新的数组 array_delvalue:function(array, value){ var list = []; for(var i in array){ var temp = array[i]; if(temp != value) list.push(temp); } return list; }, //删除数组中的某索引,返回新的数组保持原来数组的索引 array_delindex:function(array, index){ var list = []; for(var i in array){ if(i != index) list[i] = array[i]; } return list; }, //===============================时间处理=============================== //格式化日期 dateformat:function(format,date){ var date_and_time = new Date(); var date_string = ''; var regS = new RegExp("-","gi"); if(date){ if(typeof(date)=="string"){ date_string = date.replace(regS,"/"); date_and_time = new Date(Date.parse(date_string)) } else{ date_and_time = date; } } if(date_and_time.getFullYear() == 1970){ format = format.replace(/d/gi, "0"); format = format.replace(/j/gi, "00"); format = format.replace(/m/gi, "0"); format = format.replace(/n/gi, "00"); format = format.replace(/Y/gi, "0000"); format = format.replace(/y/gi, "00"); format = format.replace(/H/gi, "00"); format = format.replace(/G/gi, "0"); format = format.replace(/i/gi, "00"); format = format.replace(/s/gi, "00"); } else{ format = format.replace(/d/gi,date_and_time.getDate()); var d = date_and_time.getDate(); format = format.replace(/j/gi,d > 9 ? d : "0"+d); format = format.replace(/m/gi,date_and_time.getMonth()+1); var m = date_and_time.getMonth()+1; format = format.replace(/n/gi,m > 9 ? m : "0"+m); format = format.replace(/Y/gi,date_and_time.getFullYear()); format = format.replace(/y/gi,date_and_time.getYear()); format = format.replace(/H/gi,date_and_time.getHours() < 10 ? "0" + date_and_time.getHours() : date_and_time.getHours()); format = format.replace(/G/gi,date_and_time.getHours()); format = format.replace(/i/gi,date_and_time.getMinutes() < 10 ? "0" + date_and_time.getMinutes() : date_and_time.getMinutes()); format = format.replace(/s/gi,date_and_time.getSeconds() < 10 ? "0" + date_and_time.getSeconds() : date_and_time.getSeconds()); } return format; }, //将时间格式字符串转换为日期对象 getdate:function(datestr){ if(typeof(datestr) != "string") return datestr; var date = new Date(Date.parse(datestr.toString().replace(/-/g, "/"))); return date; }, //时间差 gettimedifference:function(start, end, t){ start = jQuery.getdate(start); end = jQuery.getdate(end); var value = 0; if(t == "d"){ value = (end - start)/(1000*60*60*24); } else if(t == "h"){ value = (end - start)/(1000*60*60); } else if(t == "m"){ value = (end - start)/(1000*60); } else if(t == "s"){ value = (end - start)/(1000); } else{ value = (end - start)/(1000*60*60*24); } return value; }, //添加天 addday:function(date, day){ date = jQuery.getdate(date); var time = date.getTime() + day*24*60*60*1000; return new Date(time); }, //添加小时 addhours:function(date, hours){ date = jQuery.getdate(date); var time = date.getTime() + parseInt(hours*60*60*1000); return new Date(time); }, //是否小月 isminmonth:function(month){ return (month==4 || month==6 || month==9 || month==11); }, //判断闰年 ispinyear:function(year){ if(year == '') return false; return (0 == year%4 && (year%100 != 0 || year % 4 == 0)); }, //获取月的周 getmonthweek: function(year, month){ var weeks = []; var temp = jQuery.getdate(year + "-" + month + "-01"); var end = jQuery.getdate(year + "-" + month + "-" + $.getmonthday(year, month)); var day = temp.getDay(); day = day == 0 ? 7 : day; var start = jQuery.addday(temp, 7 - day); var i = 1; while(jQuery.gettimedifference(start, end) >= 0){ temp = jQuery.addday(start, 6); weeks[i] = {start:jQuery.dateformat("Y-n-j 00:00:00",start), end:jQuery.dateformat("Y-n-j 23:59:59", temp)}; start = jQuery.addday(temp, 1); i++; } return weeks; }, //获取当前日期在本月第几周 getdate_monthweek_index: function(date){ date = jQuery.getdate(date); var weeks = jQuery.getmonthweek(date.getFullYear(), date.getMonth() + 1); if(jQuery.gettimedifference(date, weeks[1].start) > 0) return 0; for(var i in weeks){ if(jQuery.gettimedifference(date, weeks[i].start) <= 0 && jQuery.gettimedifference(date, weeks[i].end) >= 0){ return parseInt(i); } } }, //获取周几 get_weekname:function(index){ switch(index){ case 0: return "周日"; case 1: return "周一"; case 2: return "周二"; case 3: return "周三"; case 4: return "周四"; case 5: return "周五"; case 6: return "周六"; } }, //返回当月第一天 get_month_firstday: function(date){ date = jQuery.getdate(date); return date.getFullYear() + "-" + (date.getMonth() + 1) + "-01"; }, //获取上个月份最后一天 getupmonth: function(date){ return jQuery.addday(jQuery.get_month_firstday(date), -1); }, //返回当月最后一天 getmonthlastday: function(date){ date = jQuery.getdate(date); var day = jQuery.getmonthday(date.getFullYear(), date.getMonth() + 1); return date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + day; }, //获取月份天数 getmonthday: function(year, month){ var day = 30; if(month == 2){ if(jQuery.ispinyear(year)){ day = 29; } else{ day = 28; } } else if(jQuery.isminmonth(month)){ day = 30; } else{ day = 31; } return day; }, //获取下个月份第一天 getnextmonth: function(date){ return jQuery.addday(jQuery.getmonthlastday(date), 1); }, //获取时间差格式 getdate_difference_format: function(difference){ difference = Math.abs(difference); var d = Math.floor(difference); var h = difference - d; h = Math.ceil(h*24); if(h == 24){ d ++; h = 0; } var format = ""; if(d == 0) format = h + "小时"; else if(h == 0) format = d + "天"; else format = d + "天" + h + "小时"; return format; }, //=============================== 数字处理 =============================== //获取0至num-1的随机数 getrandomnum:function(num){ return Math.floor(Math.random()*num); }});