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);
}
});
jquery - 插件依赖的公共方法
最新推荐文章于 2023-06-25 10:56:53 发布