日常工作js 工具js收集

日常工作js 工具js收集

 

/**
 *是否为空
 * @param v  {*} 值
 * @param allowBlank {boolean} 是否允许空
 * @returns {boolean|*}
 */
function isEmpty(v, allowBlank) {
      return v === null || v === undefined || String(v).toUpperCase() === 'NULL' || ((isArray(v) && !v.length)) || (!allowBlank ? v === '' : false);
}
/**
 * 是否是数组
 */

function isArray(obj) {
      return Object.prototype.toString.apply(obj) === '[object Array]';
}
/**
 * 除去字符串的全部空格
 */
function replaceAllKongGe(val) {
      return val.replace(/\s/g, '');
}
/**
 * 除去字符串的首部和尾部的空格
 */
function replaceStartEnd(val) {
      return val.replace(/(^\s*)|(\s*$)/g, '');
}
/**
 * 金额格式化
 * aram s  金额值
 * param n  小数保留n位小数  不传时不含小数
 * @returns {String}
 */
function fmtMoney(s, n) {
      var flag = n;
      n = n > 0 && n <= 20 ? n : 2;
      s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
      var l = s.split(".")[0].split("").reverse(),
            r = s.split(".")[1];
      t = "";
      for(index = 0; index < l.length; index++) {
            t += l[index] + ((index + 1) % 3 == 0 && (index + 1) != l.length ? "," : "");
      }
      if(!isEmpty(flag)) {
            return t.split("").reverse().join("") + "." + r;
      } else {
            return t.split("").reverse().join("");
      }
}
/**
 * 去重
 * param {Object} data
 */
function deleteEleReg(data) {
      return data.reverse().join(",").match(/([^,]+)(?!.*\1)/ig).reverse();
}

/**
 * 象中删除属性为objPropery, 值为objValue元素的对象【或--删除数组里值为objValue的数据】
 * @param {Object} arry 数组对象
 * @param {Object} objPropery 对象属性   *
 * @param {Object} objValue   对象值
 * @return Array 过滤后数组
 * <p></p>
 * <span style="color: red;">注意: 如果objPropery为空或null,则删除的是字符串数组,否则是对象数组</span>
 */
function removeEleObjInArry(arry, objPropery, objValue) {
      return $.grep(arry, function(cur, i) {
            if(!isEmpty(objPropery)) {
                  return cur[objPropery] !== objValue;
            } else {
                  return cur !== objValue;
            }
      });
}
/**
 * 获取最近几天[开始时间和结束时间值,时间往前推算]
 * @param start 开始时间 如:2017-10-10
 * @param end   结束时间 如:2017-10-12
 * @returns listDate  如:[2017-10-10, 2017-10-11, 2017-10-12]
 */
function getRecentDaysDateTime(start, end) {
      var dateList = [];
      //          var start = "2012-3-25";
      //          var end = "2012-4-3";
      var startTime = getDate(start);
      var endTime = getDate(end);
      while((endTime.getTime() - startTime.getTime()) >= 0) {
            var year = startTime.getFullYear();
            var month = startTime.getMonth().toString().length == 1 ? "0" + startTime.getMonth().toString() : startTime.getMonth();
            var day = startTime.getDate().toString().length == 1 ? "0" + startTime.getDate() : startTime.getDate();
            var date = year + "-" + month + "-" + day;
            console.log(date);
            dateList.push(date);
            startTime.setDate(startTime.getDate() + 1);
      }
      return dateList;
}
/**
 * 将日期变成中国标准化日期
 * @param datestr
 * @returns {Date}
 */
function getDate(datestr) {
      var converted = Date.parse(datestr);
      var myDate = new Date(converted);
      return myDate;
}
/**
 * 日期数组里的日期是否是连续
 * @param {Object} dateArray 日期数组
 * return true--连续;false--不连续
 */
function isCountinDateArrayByPrevAndNextDate(dateArray) {
      if(dateArray == null || dateArray.length <= 0) {
            return false;
      }
      var min = dateArray[0];
      var max = dateArray[0];
      $.each(dateArray, function(index, date) {
            if(compareDate(min, date) > 0) {
                  min = date;
            }
            if(compareDate(max, date) < 0) {
                  max = date;
            }
      });
      if(compareDate(max, min) > (dateArray.length - 1)) {
            return false;
      } else {
            return true;
      }
}
/**
 * 两个日期相差的天数
 * @param {Object} value1
 * @param {Object} value2
 */
function compareDate(value1, value2) {
      var date1 = new Date(Date.parse(value1.replace("-", "/")));
      var date2 = new Date(Date.parse(value2.replace("-", "/")));
      return +(date1 - date2) / 1000 / 60 / 60 / 24; //相差的毫秒转成天数
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值