const formatTime = (date, spllit) => { const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() return `${[year, month, day].map(formatNumber).join(spllit||'/')}` } const formatNumber = n => { n = n.toString() return n[1] ? n : `0${n}` } /** * 获取指定月起始日期 */ function getMonthStartEnd(date) { var monthStart = new Date(date.getFullYear(), date.getMonth(), 1); // 获取本月第一天的日期时间 var monthEnd = new Date(date.getFullYear(), date.getMonth() + 1, 0, 23, 59, 59); // 获取本月最后一天的日期时间(时间为23:59:59) console.log('本月开始时间:' + monthStart); console.log('本月结束时间:' + monthEnd); return { startTime: monthStart, endTime: monthEnd } } /** * 生成UUID */ const uuid = function () { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 s[8] = s[13] = s[18] = s[23] = "-"; var uuid = s.join(""); return uuid } /** * 验证密码 * @param params 密码为6-20位数字、字母或下划线,至少包括其中两种,以字母开头! */ const regPwd = function (pwd) { const reg = /^[a-zA-Z](?![a-zA-Z]+$)\w{5,19}$/ return reg.test(pwd); } module.exports = { formatTime, uuid, getMonthStartEnd, regPwd }