版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ck3345143/article/details/88099584
日常工作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; //相差的毫秒转成天数
}