jquery - 插件依赖的公共方法

来源:互联网 发布:nginx 只允许访问目录 编辑:程序博客网 时间:2024/06/07 06:49
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);    }}); 


原创粉丝点击