zoukankan      html  css  js  c++  java
  • js常用功能汇总

    var Utils = function() {
        this.Tools;
        this.ui;
    };
    
    Utils = new Utils();
    
    Utils.prototype.Tools = {
    
        year:'',
        month:'',
        day:'',
        week:'',
        time:'',
        hours:'',
        minute:'',
        second:'',
        weeks:['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
        
        /**
         * 获取当前用户使用的浏览器类型
         * @returns
         */
        browserVersion:function(){
            var explorer = window.navigator.userAgent;    
            
            if (explorer.indexOf("MSIE") >= 0) {// ie10及以下
                var b_version = navigator.appVersion;
                var version = b_version.split(";");
                version = version[1].replace(/[ ]/g, "");
                version = version.split('MSIE')[1];
                browser = 'IE:' + version;
            } else if (explorer.indexOf("Firefox") >= 0) {// Firefox
                browser = 'Firefox';
            } else if (explorer.indexOf("Chrome") >= 0) {// Chrome
                browser = 'Chrome';
            } else if (explorer.indexOf("Opera") >= 0) {// Opera
                browser = 'Opera';
            } else if (explorer.indexOf("Safari") >= 0) {// Safari
                browser = 'Safari';
            } else if (explorer.indexOf("Trident/7.0") >= 0) {// IE11
                browser = 'IE:10.0以上';
            }
            return borwser;
        },
        strFormatDate : function(param) {
           var months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Setp','Oct','Nov','Dec'];
           var weeks=['Mon','Tue','Wed','Thu','Fri','Sat','Sun'];
           var date=param.split(" ");
           var browser= new Utils().browserVersion();
           if(browser=='Chrome'||browser=='Firefox'||browser=='IE:10.0以上'){
               this.year=date[3];
               this.month=months[date[1]];
               this.day=date[2];
               this.time=date[4];
               this.week=date[weeks[0]];
               return this.year+"年"+this.month+"月"+this.day+"日  "+this.time;
           }else if(browser=='IE:10'||browser=='IE:9'||browser=='IE:8'){
               this.year=date[5];
               this.month=months[date[1]];
               this.day=date[2];
               this.time=date[3];
               this.week=date[weeks[0]];
               return this.year+"年"+this.month+"月"+this.day+"日  "+this.time;                                                                            
           }
        },
        /**
         * 
         * @param date
         * @returns {String}
         */
        DateFormatDate:function(date){
            this.year=date.getFullYear();
            this.month=date.getMonth()+1;
            this.day=date.getDate();
            this.hours=date.getHours();
            this.minute=date.getMinutes();
            this.second=date.getSeconds();
            this.week=date.getDay();
            return this.year+"年"+this.month+"月"+this.day+"日   "+this.hours+":"+this.minute+":"+this.second+" 星期"+this.weeks[this.week];
        },
        /**
         * 解决浏览器地址栏乱码问题
         * @param strParame 参数名称
         * @returns
         */
        formatUrlParam:function(strParame){
              var args = new Object();
              var query = location.search.substring(1); // Get query string
              var pairs = query.split("&"); // Break at ampersand
              for ( var i = 0; i < pairs.length; i++) {
                var pos = pairs[i].indexOf('='); // Look for "name=value"
                if (pos == -1)
                  continue; // If not found, skip
                var argname = pairs[i].substring(0, pos); // Extract the name
                var value = pairs[i].substring(pos + 1); // Extract the value
                value = decodeURIComponent(value); // Decode it, if needed
                args[argname] = value; // Store as a property
              }
              return args[strParame]; // Return the object
            
        },
        /**
         * 获取选中复选框的值
         * @param checkBoxName checkbox的name
         * @returns {String}
         */
        multipleChoiceCheckBox:function(checkBoxName){
            var content='';
            var serids =document.getElementsByName(checkBoxName);
            for(var i=0;i<serids.length;i++){
                if(serids[i].checked){
                    content+=serids[i].value+",";
                }
            }
            content=content.substr(0,content.length-1);
            return content;
        },
        /**
         * 复选框--反选
         * @param checkBoxName checkbox的name
         * @param parentName   控制反选按钮的id
         */
        reverseFlotationCheckBox:function(checkBoxName,parentName)
            var bool=$("#"+parentName).attr("checked"); 
            var serids =document.getElementsByName(checkBoxName);
            if(bool){
                for(var i=0;i<serids.length;i++){
                    serids[i].checked=true;
                }
            }else{
                for(var i=0;i<serids.length;i++){
                    serids[i].checked=false;
                }
            }
        },
        /**
         * 复选框--全选
         * @param checkBoxName checkbox的name
         * @param parentName   控制反选按钮的id
         */
        checkAllCheckBox:function(checkBoxName,parentName){
            var serids =document.getElementsByName(checkBoxName);
            var bool=$("#"+parentName).attr("checked"); 
            if(bool){
                for(var i=0;i<serids.length;i++){
                    serids[i].checked=true;
                }
            }else{
                for(var i=0;i<serids.length;i++){
                    serids[i].checked=false;
                }
            }
        },
        addOption:function(id,path,defaultValue){
            //给select添加选项   
            $("#"+id).empty();
            $.ajax({ 
                url:  path, 
                type: "POST", 
                data:'type=gfType',
                dataType: "json", 
                async: false, 
                success: function(results) {
                    for(var i=0;i<results.length;i++) {
                        
                        if(results[i].id == defaultValue) {
                            html += "<option value='" + results[i].id + "' selected>" + results[i].codename + "</option>";
                        } else {
                            html += "<option value='" + results[i].id + "'>" + results[i].codename + "</option>";
                        }
                    }
                    $("#"+id).append(html);
                },
                error: function(e) {
                    YMLib.Tools.showPrompt("!-logo", "系统错误!请联系管理员!", 5000);
                }
            });
        },
        
        /**
        *获取字符串字节数
        */
        GetStringByteLength:function(val){
            var Zhlength=0;// 全角
            var Enlength=0;// 半角
            
            for(var i=0;i<val.length;i++){
                if(val.substring(i, i + 1).match(/[^x00-xff]/ig) != null)
                Zhlength+=1;
                else
                Enlength+=1;
            }
            // 返回当前字符串字节长度
            return (Zhlength*2)+Enlength;
        },
        
        //js实现返回顶部
        BackToTop:function(){
            $("body,html").animate({scrollTop:0},1000);
        },
        /**
        *复制到粘贴板
        */
        copyToShearPlate:function(){
            $('.content').click(function(){
            $(this).select();
            });
     
            //设置swf路径
            ZeroClipboard.setMoviePath("ZeroClipboard.swf"); 
            //创建对象
            var clip = new ZeroClipboard.Client();
            //设置手型
            clip.setHandCursor(true); 
            //绑定按钮(目标对象id)
            clip.glue('copy_btn');
            //复制内容
            clip.addEventListener( "mouseOver", function(client) {
                client.setText($('#content').text());
            });
            //复制成功后的提示
            clip.addEventListener( "complete", function(){    
                alert("copyed successful");     
            }); 
        },
        /**
        *判断是否是正确的url地址
        */
        IsURL:function(str_url) { 
            var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
                "?(([0-9a-z_!~*'().= $%-] : )?[0-9a-z_!~*'().= $%-] @)?" //ftp的user@
                "(([0-9]{1,3}.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
                "|" // 允许IP和DOMAIN(域名)
                "([0-9a-z_!~*'()-] .)*" // 域名- www.
                "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." // 二级域名
                "[a-z]{2,6})" // first level domain- .com or .museum
                "(:[0-9]{1,4})?" // 端口- :80
                "((/?)|" // a slash isn't required if there is no file name
                "(/[0-9a-z_!~*'().;?:@= $,%#-] ) /?)$";
              var re=new RegExp(strRegex);
              //re.test()
              if (re.test(str_url)){
                  return (true);
              }else{
                  return (false);
              }
        },
        setValueUeditor:function(){
        //当editor创建完毕,给editor设置内容
             UE.getEditor('solution').ready(function(){
                 UE.getEditor('solution').setContent(obj.solution);
             });
        }
        
    };
    
    Utils.prototype.ui = {
            
        /*
        *拼接表格
        * @param source 格式如下:
            {
                "qlmc":"桥梁名称",
                "qldm":"桥梁代码",
                "qlzxzh":"桥梁中心桩号",
                "qlkjfl":"桥梁跨径分类",
                "xzqhbm":"行政区划编码",
                "lxmc":"路线名称",
                "lxbm":"路线代码"
            }
        * @param tableId 表格id
        * @param path   请求地址
        *
        */
         joinTable:function(source,tableId,path){
            field="[[{field: 'ck', checkbox: true},";
             var source=data.data;
             for(var key in source){
                 field+="{field: '"+key+"', title:'"+source[key]+"',  100, align: 'center'},";
             }
             field=field.substr(0,field.length-1);
             field+="]]";
             field = eval(field);
             $('#'+tableId).datagrid({
                     border: false,
                     fit: true,
                     fitColumns: true,
                     rownumbers: true,
                     pagination: true,
                     striped: true,
                     singleSelect: false,
                     selectOnCheck: true,
                     checkOnSelect: true,
                     url: path,
                     columns:field
             });
         },
         /*
            *表格自适应高度
            * @param tb_div table 所在div的id
            * @param tableId table id
            * @param path 请求地址
            *
         */
         autoHeight:function(tb_div,tableId,path){
           var pageSize=Math.floor($('#'+tb_div).height()/40)-1;
            $('#'+tableId).datagrid({
                fit : true,
                fitColumns : true,
                loadMsg : '正在加载数据,请稍候...',
                url : path,
                rownumbers : true,
                autoRowHeight : false,
                striped : true,
                pagination : true,
                pageSize : pageSize,
                pageList : [ pageSize, pageSize*2, pageSize*3 ],
                rowStyler:function(index,row){
                    return "height:50px;line-height:50px";
                }
            });
         }
         
    }
    
        
        
        
        
        
        //正则 去除目标对象中的图片
        //return param.replace(/<img([^>]*)>/gim,"");    
        //去除目标对象的前后空格
        //.replace(/^s+|s+$/g, '')
        //邮箱验证方法
        //if(/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/.test(value)){
            //flag=true;
        //}
        //手机号和座机的验证方法
         //if((/^1[3|5|8]d{9}$/.test(value)) || (/^0d{2,3}-?d{7,8}$/.test(value))){
            //flag=true;
        //}
        //清除指定字符中的html标签
        //describe = datas[i].describe.replace(/<[^>].*?>/g,''); 
        
        //判断指定字符串是否包含汉字
        //(/[u4e00-u9fa5]+/).test(describe)
        
        
            /**
         * 通过restClient将url转换成json数据.
         *
         * @param url  需要转换的url
         * @return    返回json
         */
        //public String parseServiceUri(String url){
            
            //RestClient client = new RestClient();
            
    //        HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            
    //        String path = request.getContextPath();  
    //        String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";  
    //        org.apache.wink.client.Resource resource = client.resource("http://192.168.0.250:6080/"+url);
            //org.apache.wink.client.Resource resource = client.resource(url);
    
            //String response = resource.accept(MediaType.APPLICATION_JSON).get(String.class);
    
            //return response; 
            
        }
        
        //参数乱码
        //new String(((String)map.get("name")).getBytes("ISO-8859-1"), "UTF-8")
        
        
  • 相关阅读:
    项目Alpha冲刺(团队)-第七天冲刺
    NOIP模拟赛[补档]
    关于补档
    noip2017集训测试赛(三) Problem B: mex [补档]
    初赛准备 [补档]
    记录 [补档]
    Leave It Behind and Carry On ---- 高一下期末考反思 [补档]
    NOIP 2017 赛后反思 [补档]
    囤题 [补档]
    组合游戏学习笔记 [补档]
  • 原文地址:https://www.cnblogs.com/ssrsblogs/p/5708144.html
Copyright © 2011-2022 走看看