自己写了些js常用的方法

来源:互联网 发布:网络攻防书籍 编辑:程序博客网 时间:2024/05/17 20:00
(function($){
$.tool={   
    /**          * 得到指定url中的参数,默认为地址栏,返回一个数组         */getParam:function(param,url){url=url || location.href;var reg=new RegExp(param+"=([^&]*)&?","gi");var value=[];do{   var r=reg.exec(url);   if(r){value.push(r[1]);   }}while(r);return value;},/**  * 针对指定的文本样式,只能输入整数,为需要处理的text元素添加class="int"  * 用法:  *    1、<input type="text" class="int"/>  *    2、在jQuery的初始化方法中调用 $.tool.int();  */int:function(){$(":text.int").live("keydown",function(evt){var validKey={48:0,49:1,50:2,51:3,52:4,53:5,54:6,55:7,56:8,57:9,  96:0,97:1,98:2,99:3,100:4,101:5,102:6,103:7,104:8,105:9,  8:'backspace',9:'tab',37:'left',39:'right',46:'delete'};var funKey={86:'c',67:'v',88:'x',90:'z'};if(evt.ctrlKey && evt.keyCode in funKey){return true;}else{if(!(evt.keyCode in validKey)){return false;}}}).live("blur",function(){if(isNaN(parseInt(this.value))){this.value="";}else{this.value=parseInt(this.value);}});}};//类级别的插件$.select={/** * 设置select的默认值 * 调用方法:setSelDefaultValue([id1,id2],[value1,value2],true); * 如果select中有要选中的值,则为true,默认值;如果没有,则为false * @author yxd */setSelDefaultValue:function(ids,values,hasValue){    if(hasValue!==false){for(var i=0;i<ids.length;i++){        $("#"+ids[i]).attr("value",values[i]);       }}else{for(var i=0;i<ids.length;i++){var options=$("#"+ids[i])[0].options;for(var j=0;j<options.length;j++){if(options[j].value==values[i]){options[j].selected=true;break;}}}}    },    /**     * 交换两个select中的选中的options,     * @param from和to表示javascript对象,不是jQuery对象     * @auth yxd     */    swapOptions:function(from,to){    for(var i=from.length-1;i>-1;i--){    if(from.options[i].selected){    to.options.add(new Option(from.options[i].text,from.options[i].value));    from.options[i]=null;    }    }       }    };        //正则相关的方法    $.reg={    /**     * 验证手机号     */    isMobile:function(val){    return /^(13|14|15|18)\d{9}$/.test(val);    },    isURL:function(val){    return /^([\w-]+\.)+[\w-]+([\w-.?%&=/]*)?$/.test(val);    }    };//cookie相关的方法$.cookie={get:function(name){var reg=new RegExp(name+"=([^;]*);?");if(reg.test(document.cookie)){return decodeURIComponent(RegExp.$1);}},add:function(option){var cookie=option.name+"="+encodeURIComponent(option.value);if(option.day){//过期的天数var date=new Date();var ms=option.day*24*3600*1000;date.setTime(date.getTime()+ms);cookie+=";expires="+date.toGMTString();}if(option.path){cookie+=";path="+option.path;//设置访问路径}if(option.domain){cookie+=";domain"+option.domain;//设置访问主机}if(option.secure){cookie+=";secure";//设置安全性}document.cookie=cookie;},delete:function(name){this.add({name:name,value:"",day:-1});}}        //日期相关的方法    $.date={    /**     * 将2012-6-5这种日期格式转换成10位长的格式:2012-06-05     */    dealDate:function(date){    var format=/^(\d{4})-(\d{1,2})-(\d{1,2}).*/;var a=format.exec(date);for(var i=2;i<a.length;i++){if(a[i].length==1){a[i]="0"+a[i];}}return a[1]+"-"+a[2]+"-"+a[3];    },    /**     * 得到当前日期     */    getDate:function(){    var date=new Date();return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();    }    }            //对象级别的方法    $.fn.extend({    /**     * @auth yxd     * @param options 待加载的options     * @param saveOne 是否保留第一个选项,默认不保留 * 加载options */    updateOptions:function (options,saveOne){    if(saveOne){    this[0].length=1;    }else{    this[0].length=0;    }     return this.append(options);    },/**得到选中的select的文本值*/getSelText:function(){var sel=this[0];return sel.options[sel.selectedIndex].text;}    });})(jQuery);

原创粉丝点击