zoukankan      html  css  js  c++  java
  • 项目js函数大全

    1.获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS”

    function getNowFormatDate() {
        var date = new Date();
        var seperator1 = "-";
        var seperator2 = ":";
        var month = date.getMonth() + 1;
        var strDate = date.getDate();
        if (month >= 1 && month <= 9) {
            month = "0" + month;
        }
        if (strDate >= 0 && strDate <= 9) {
            strDate = "0" + strDate;
        }
        var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
                + " " + date.getHours() + seperator2 + date.getMinutes()
                + seperator2 + date.getSeconds();
        return currentdate;
    }

    2.jQuery表单序列化对象

    $.fn.serializeObject = function () {
                var obj = {};
                var count = 0;
                $.each(this.serializeArray(), function (i, o) {
                    var n = o.name, v = o.value;
                    count++;
                    obj[n] = obj[n] === undefined ? v
                    : $.isArray(obj[n]) ? obj[n].concat(v)
                    : [obj[n], v];
                });
                //obj.nameCounts = count + "";//表单name个数
                return JSON.stringify(obj);
            };
    
    
    调用示例:var serStr = $('#form1').serializeObject();

    3.Js判断回文字符串

    function palindrome(str){
      // W匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。
      var re = /[W_]/g;
      // 将字符串变成小写字符,并干掉除字母数字外的字符
      var lowRegStr = str.toLowerCase().replace(re,'');
      // 如果字符串lowRegStr的length长度为0时,字符串即是palindrome
      if(lowRegStr.length===0) return true;
      // 如果字符串的第一个和最后一个字符不相同,那么字符串就不是palindrome
      if(lowRegStr[0]!=lowRegStr[lowRegStr.length-1]) return false;
      //递归
      return palindrome(lowRegStr.slice(1,lowRegStr.length-1));
    }

    4.ES6函数组合

    const pipe = (...fns) => x => fns.reduce((v, f) => f(v), x);
    const fn1 = s => s.toLowerCase();
    const fn2 = s => s.split('').reverse().join('');
    const fn3 = s => s + '!'
     
    const newFunc = pipe(fn1, fn2, fn3);
    const result = newFunc('Time'); // emit!

    5.jquery插件编写

    $.fn.extend = {
        "alterBgColor": function(options){
                options = $extend({
                     odd:'odd',
                     even:'even',
                     selected:'selected'
                },option);
         $('tbody>tr:odd',this).addClass(options.odd);
          $('tbody>tr:even',this).addClass(options.even);
         $('tbody>tr',this).click(function(){
                  var hasSelected = $(this).hasClass(options.selected)?true;flase;
    $(this)[hasSelected?'removeClass':'addClass'](options.selected);
    $(this).find('checkbox').attr('checked',!$(this).attr('checked'))
     })
    }
    }
    //table隔行变色插件

     6. 图片上传常用函数

    <script>
    //输出选中的文件列表相关的信息
    function fileinfo(files) {
        for(var i = 0; i < files.length; i++) {//files是一个类数组对象
            var f = files[i];
            //a.txt 86 text/plain Mon Sep 19 2016 11:07:43 GMT+0800 (中国标准时间)
            console.log(f.name,    //只是名字:没有路径
                        f.size, f.type,    //size和type是Blob的属性
                        f.lastModifiedDate);    //修改时间
        }
    }
    </script>
    <input type="file"  onchange="fileinfo(this.files)"/> 
    
    
        function showPreview(source) {
            var file = source.files[0];
            console.log(file.type+'---'+file.size);
            console.log(source.value);
    
            if(window.FileReader) {
                var fr = new FileReader();
                fr.onload = function(e) {
    
                    var image = new Image();
                    image.src= e.target.result;
                    console.log(e.target.result); //base64格式的图片路径
                    console.log(image.width+'---'+image.height);
                    if(image.width>900){
                        alert('照片太宽');
                        return
                    }
                    document.getElementById("portrait").src = e.target.result;
    
                };
                fr.readAsDataURL(file);
            }
        }

    7.非常简单的获取url参数函数

    function getUrlParam(sUrl,sKey){    
        var result = {};    
        sUrl.replace(/??(w+)=(w+)&?/g,function(a,k,v){        
            if(result[k] !== void 0){
                var t = result[k];
                result[k] = [].concat(t,v);
            }else{
                result[k] = v;
            }
        });
        if(sKey === void 0){
            return result;
        }else{ 
            return result[sKey] || '';
        }
    }
    
    getUrlParam('http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe', 'key')
    //输出 [1, 2, 3]

    好久没更新了,主要是公司项目太tm赶了,老板催着折腾,来的2个总监都是走管理路线的,没有一点技术支撑,还要我们往死里干,已经辞了几个人,也逼走了几个人,我估计也快gg了,行了,就这么多吧,下回再出来分享.

     

  • 相关阅读:
    MySQL:数据库优化,看这篇就够了
    不使用synchronized和lock,如何实现一个线程安全的单例
    理解Spring:IOC的原理及手动实现
    终于放弃了单调的swagger-ui了,选择了这款神器—knife4j
    TP5.0.24 验证器内置规则中max 如果输入中文 验证长度错误的问题
    laravel 5.5 api接口开发:JWT安装+实现API token 认证
    homestead 代码与本地代码不同步的解决方法
    laravel 5.5 api接口开发: 安装dingo/api
    php base_decode 函数将base64编码转换图片遇到的问题
    thinkphp 5.0 部署新网空间隐藏index.php入口
  • 原文地址:https://www.cnblogs.com/yoissee/p/6527644.html
Copyright © 2011-2022 走看看