格式化${startTime}距现在的已过时间
const formatPassTime=(startTime)=> {
var currentTime = Date.parse(new Date()),
time = currentTime - Date.parse(new Date(startTime)),
day = parseInt(time / (1000 * 60 * 60 * 24)),
hour = parseInt(time / (1000 * 60 * 60)),
min = parseInt(time / (1000 * 60)),
month = parseInt(day / 30),
year = parseInt(month / 12);
if (year) return year + "年前"
if (month) return month + "个月前"
if (day) return day + "天前"
if (hour) return hour + "小时前"
if (min) return min + "分钟前"
else return '刚刚'
}
formatPassTime("2023-02-11")// 1个月前
格式化现在距${endTime}的剩余时间
const formatRemainTime=(endTime)=> {
var startDate = new Date()
var endDate = new Date(endTime)
var t = endDate.getTime() - startDate.getTime()
var d = 0,
h = 0,
m = 0,
s = 0
if (t >= 0) {
d = Math.floor(t / 1000 / 3600 / 24)
h = Math.floor(t / 1000 / 60 / 60 % 24)
m = Math.floor(t / 1000 / 60 % 60)
s = Math.floor(t / 1000 % 60)
}
return d + "天 " + h + "小时 " + m + "分钟 " + s + "秒"
}
formatRemainTime("2023-06-11")// 60天 23小时 8分钟 23秒
现金额转大写
const digitUppercase=(n)=> {
var fraction = ['角', '分']
var digit = [
'零', '壹', '贰', '叁', '肆',
'伍', '陆', '柒', '捌', '玖'
]
var unit = [
['元', '万', '亿'],
['', '拾', '佰', '仟']
]
var head = n < 0 ? '欠' : ''
n = Math.abs(n)
var s = ''
for (var i = 0
s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '')
}
s = s || '整'
n = Math.floor(n)
for (var i = 0
var p = ''
for (var j = 0
p = digit[n % 10] + unit[1][j] + p
n = Math.floor(n / 10)
}
s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s
}
return head + s.replace(/(零.)*零元/, '元')
.replace(/(零.)+/g, '零')
.replace(/^整$/, '零元整')
}
digitUppercase(-125689)// 欠壹拾贰万伍仟陆佰捌拾玖元整
判断是否为身份证号(脱敏常用)
const isIdCard=(str) =>{
return /^(^[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])$)$/.test(str)
}
isIdCard(25123617891020912)
判断两个数组是否相等
const arrayEqual=(arr1, arr2) =>{
if (arr1 === arr2) return true
if (arr1.length != arr2.length) return false
for (var i = 0
if (arr1[i] !== arr2[i]) return false
}
return true
}
url参数转对象
const parseQueryString=(url)=> {
url = !url ? window.location.href : url
if(url.indexOf('?') === -1) {
return {}
}
var search = url[0] === '?' ? url.substr(1) : url.substring(url.lastIndexOf('?') + 1)
if (search === '') {
return {}
}
search = search.split('&')
var query = {}
for (var i = 0
var pair = search[i].split('=')
query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '')
}
return query
}
