项目地址:传送门
1. 返回指定时间段数组(年)
export function getDateArray (startYear,endYear){
let DateArray = []
let num = endYear-startYear
for(let i=0;i<num;i++){
startYear++
DateArray.push(startYear)
}
return DateArray
}
2. 获取近一周后的时间_可传具体时间
//返回指定时间,其后一周的时间数组
export function getWeek(date){
let today = date||new Date();
let weekArr = []
for(let i=0;i<7;i++){
let newDate = new Date(today.getTime()+i*1000*60*60*24)
let year = newDate.getFullYear()
let month = (parseInt(newDate.getMonth())+1)>9?(parseInt(newDate.getMonth())+1):"0"+(parseInt(newDate.getMonth())+1)
let day = (newDate.getDate())>9?newDate.getDate():"0"+newDate.getDate()
let fullDate = `${year}-${month}-${day}`
weekArr.push(fullDate)
}
return weekArr
}
3. 对电话,姓名,身份证脱敏
class maskUtil {
constructor() {
}
//字符串掩码
stringMask(oriStr, frontLen, endLen) {
let result = oriStr;
if (oriStr == null || oriStr.length == 0) {
return "";
}
if ((endLen + frontLen) == oriStr.length && endLen == 1) {
result = oriStr.substring(0, frontLen) + "*";
}
let len = oriStr.length - frontLen - endLen;
let maskStars = "";
for (let i = 0 ; i < len ; i++) {
maskStars += "*";
}
result = oriStr.substring(0, frontLen) + maskStars + oriStr.substring(oriStr.length - endLen);
return result;
}
realNameMask (realName) {
if (realName == null || realName == "") {
return "";
} else if (realName.length == 2) {
return this.stringMask(realName, 0 ,1);
} else {
return this.stringMask(realName, 0 ,2);
}
}
//手机号掩码
phoneMask (phone) {
return this.stringMask(phone, 3, 2);
}
//身份证掩码
idNumberMask (idNumber) {
return this.stringMask(idNumber, 1 ,1);
}
};
var maskUtils = new maskUtil()
export default maskUtils
效果展示
4. 判断今天是否为节假日 项目地址:传送门
代码太长,我截图,具体看项目地址里面
节假日判断有2条依据:
1.是否为周末(有调休的情况)
2.是否是每年的法定节假日
后端做了一个接口,根据传入的时间段返回节假日数组(包含调休日期,通过type字段进行判断)
返回数据如图
因为是公司的接口,这个地址我就不暴露了,需要返回这样日期数据,自己上网找下接口。
这个博客里面提供了接口 传送门
如果遇到跨域问题,我项目里面用webpack代理处理了跨域
代码截图
结果展示 没遇到调休情况
结果展示 遇到调休情况
具体项目展示
5. 模糊搜索 项目地址:传送门
1.准备好要搜索的数组
2.要搜索的关键字
3.搜索关键字的key
具体代码
export function search(searchKey,arr,arrKey){
let backInfo = []
let keys = []
let haveKey
arr.forEach(item =>{
keys = Object.keys(item)
haveKey = keys.some(item =>{
return item = arrKey
})
})
if(searchKey == ''){
return backInfo
}else if(Object.prototype.toString.call(arr) != '[object Array]' || arr.length == 0 || arrKey == ''|| !haveKey){
return 'error'
}else {
arr.map(item =>{
if(item[arrKey].search(searchKey)!=-1){
backInfo.push(item)
}
})
return backInfo
}
}
结果展示