1.新建一个tool.js文件,写入如下代码,放入 plugins 文件夹内
const tool = {}
// 设置cookie
tool.setCookie = (name, value) => {
let Days = 30
let exp = new Date()
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000)
document.cookie = name + '=' + escape(value) + ';expires=' + exp.toGMTString()
}
// 获取cookie
tool.getCookie = name => {
let arr = document.cookie.replace(/\s/g, '').split(';')
for (let i = 0; i < arr.length; i++) {
let tempArr = arr[i].split('=')
if (tempArr[0] === name) {
return decodeURIComponent(tempArr[1])
}
}
return ''
}
// 删除cookie
tool.delCookie = name => {
let exp = new Date()
exp.setTime(exp.getTime() - 1)
let cval = tool.getCookie(name)
if (cval != null) {
document.cookie = name + '=' + cval + ';expires=' + exp.toGMTString()
}
}
// 设置sessionStorage
tool.setSession = (key, value) => {
window.sessionStorage.setItem(key, value)
}
// 获取sessionStorage
tool.getSession = key => {
let data = window.sessionStorage.getItem(key)
return data
}
// 设置json格式的sessionStorage
tool.setSessionJson = (key, value) => {
window.sessionStorage.setItem(key, JSON.stringify(value))
}
// 获取json格式的sessionStorage
tool.getSessionJson = key => {
let dataJson = window.sessionStorage.getItem(key)
let data = JSON.parse(dataJson)
return data
}
// 设置localStorage
tool.setLocal = (key, value) => {
window.localStorage.setItem(key, value)
}
// 获取localStorage
tool.getLocal = key => {
let dataJson = window.localStorage.getItem(key)
return dataJson
}
// 设置json格式的localStorage
tool.setLocalJson = (key, value) => {
window.localStorage.setItem(key, JSON.stringify(value))
}
// 获取json格式的localStorage
tool.getLocalJson = key => {
let dataJson = window.localStorage.getItem(key)
let data = JSON.parse(dataJson)
return data
}
// 时间戳转换标准字符串
tool.timestampToTime = (timestamp, num) => {
let date = new Date(timestamp * 1) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-'
let M =
(date.getMonth() + 1 < 10
? '0' + (date.getMonth() + 1)
: date.getMonth() + 1) + '-'
let D = date.getDate() + ' '
let h = date.getHours() + ':'
let m = date.getMinutes() + ':'
let s = date.getSeconds()
if (num === '1') {
return Y + M + D + h + m + s
} else if (num === '2') {
return Y + M + D
} else if (num === '3') {
return h + m + s
}
}
// 日期格式转为日期标准字符串
tool.formatDate = date => {
let y = date.getFullYear()
let m = date.getMonth() + 1
m = m < 10 ? '0' + m : m
let d = date.getDate()
d = d < 10 ? '0' + d : d
return y + '-' + m + '-' + d
}
// 常用校验正则表达式
tool.regTest = () => {
let obj = {
adujstEmail: /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/, // 校验邮箱
adujstInput: /^\d*(?:\.\d{0,2})?$/, // 校验input输入最多输入两位小数的数字
adujstTel: /^[1][0-9]{10}$/, // 校验手机电话号码
adujstHd: /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/, // 校验手机号码及号段
adujstPhone: /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/, // 校验是否为座机号码
adujstHz: /^[\u4e00-\u9fa5]{0,}$/, // 校验汉字
adujstNm: /^\d*$/, // 校验是否为数字,
adujstIdCard: /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/ // 校验是否为身份证
}
return obj
}
// 判定对象的构造函数但是当一个函数继承自宁一个函数时该对象的实例的constructor并不会指向自己会报错
// 一般在继承的时候手动吧constructor再指向自己
tool.adugeobjSource = m => {
if (typeof m === 'object') {
let con = m.constructor
console.log(con.name)
}
}
// 判定数据类型
tool.adugeType = m => {
let type = typeof m
if (type !== 'object') {
return type
} else {
let str = Object.prototype.toString.call(m)
if (str === '[object Array]') {
return 'Array'
} else if (str === '[object Date]') {
return 'Date'
} else if (str === '[object Objec