// 单位用千位分隔符显示 export function thousandBitSeparator (str) { var num = parseFloat(str).toFixed(3) // 这里因为我需要两位小数所以做一个限制,你们看情况做小数位的限制 var s = num.substring(0, (num.length - 1)) // 只取小数位2位 return s && s.toString().replace(/(\d)(?=(\d{3})+\.)/g, function ($0, $1) { return $1 + ',' }) } // 判断是不是空 是--true export function isNull (str) { if (str === '' || str === null) { return true } else { return false } } export function debounce (fn, delay) { // 时间期限 var delay = delay || 200; var timer; // 闭包 return function () { // 考虑作用域,上下文环境,apply需要用到this对象 var th = this; // 接收的参数用 ES6 中的 rest 参数统一存储到变量 args 中。arguments就是传入的参数数组,而且个数可以不确定的传回给fn(不确定函数到底有多少个参数,用arguments来接收) var args = arguments; // 判断还在定时,说明当前正在一个计时过程中,并且又触发了相同事件。所以要取消当前的计时,重新开始计时 if (timer) { clearTimeout(timer); } timer = setTimeout(function () { timer = null; // 执行方法 fn.apply(th, args); }, delay); }; } // 判断是不是邮箱 是--true export function isEmail (str) { let myreg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/ return myreg.test(str) } // 只能中文 export function isName (str) { let myreg = /^[\u4E00-\u9FA5]+$/ return myreg.test(str) } // 手机号码 export function isPhone (mobile) { // let myreg = /^[1][3,4,5,7,8][0-9]{9}$/ //手机号码验证 let myreg = /^[0-9]{11}$/ // 手机号码验证 return myreg.test(mobile) } // 密码 校验 export function pwdReg (psd) { let value = psd.replace(/\s*/g, '') let myreg = /^[a-zA-Z0-9!@#$%^&*.]{6,12}$/ // 手机号码验证 return myreg.test(value) } // 身份证校验 export function idCardReg (idcard) { var myreg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ return myreg.test(idcard) } // 银行卡校验 export function bankNoReg (val) { var myreg = /^([1-9]{1})(\d{14,18})$/ return myreg.test(val) } // 数字隐藏显示 * export function hideNumberTo (str) { let number = str.toFixed(2) let arr = number.split('.') let string = '' for (var i = 0; i < arr[0].length; i++) { string += '*' } return string + '.**' } // 时间戳转换为时间格式 export function timeFormat (date) { let fmt = 'yyyy-MM-dd hh:mm:ss' // let date = new Date(time) if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)) } let o = { 'M+': date.getMonth() + 1, 'd+': date.getDate(), 'h+': date.getHours(), 'm+': date.getMinutes(), 's+': date.getSeconds() } for (let k in o) { if (new RegExp(`(${k})`).test(fmt)) { let str = o[k] + '' fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str)) } } return fmt } function padLeftZero (str) { return ('00' + str).substr(str.length) } // cookie 操作 export function setCookie (name, value, day) { if (day !== 0) { // 当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除 var curDate = new Date() var curTamp = curDate.getTime() var curWeeHours = new Date(curDate.toLocaleDateString()).getTime() - 1 var passedTamp = curTamp - curWeeHours var leftTamp = 24 * 60 * 60 * 1000 - passedTamp var leftTime = new Date() leftTime.setTime(leftTamp + curTamp) document.cookie = name + '=' + escape(value) + ';expires=' + leftTime.toGMTString() } else { document.cookie = name + '=' + escape(value) } } // get export function getCookie (name) { var arr var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)') arr = document.cookie.match(reg) if (arr) { return unescape(arr[2]) } else { return null } // document.cookie = name + "=" + escape(value); } export function clearCookie () { this.setCookie('USER_TOKEN', '', -1) } // export function checkCookie () { var user = this.getCookie('USER_TOKEN') if (user !== '') { alert('Welcome again ' + user) } else { user = prompt('Please enter your name:', '') if (user !== '' && user != null) { this.setCookie('USER_TOKEN', user, 365) } } }