公共函数瑜伽
2019-11-12 21:14 WEB前端小菜鸟 阅读(336) 评论(0) 编辑 收藏 举报/* 说明文件:这里用的都是es6的语法 导入导出,拿vue举个栗子,你只需要在用到的地方,按需要导入就行了, 然后在mounted中直接可以拿来用 比如下面的手机****方法,在需要用到的地方import 不揍1:import { hidePhone } from '../utils/utils.js' 不揍2: mounted(){ let hh=hidePhone(15308331208) console.log(hh,'222222222222'); } */ /* @1 隐藏中间四位数的电话好嘛**** */ function hidePhone(phone) { // var tel = phone; // // console.log(typeof tel); // tel = "" + tel; // // console.log(typeof tel); // var reg=/(\d{3})\d{4}(\d{4})/; // var tel1 = tel.replace(reg, "$1****$2") // console.log(tel1); /* 第二种方法,随意选一种嘛 都是先转换成字符串的 */ var tel = phone; tel = "" + tel; var ary = tel.split(""); console.log(ary); ary.splice(3, 4, "****"); var tel1 = ary.join(""); return tel1 //153****1208 } /*@2 年月日这个就有点多了(根据需求定制) */ /* 当前时间转换为年月日时分秒 */ function formatDate() { var date = new Date(); var year = date.getFullYear(); var month = addZero(date.getMonth() + 1); var day = addZero(date.getDate()); var hours = addZero(date.getHours()); var minutes = addZero(date.getMinutes()); var seconds = addZero(date.getSeconds()); // return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds; return year + '-' + month + '-' + day; } /* 配合上面的函数一起使用 */ function addZero(num) { return num < 10 ? '0' + num : num; } /* @3 倒计时 这里只是说一下倒计时怎么计算,vue中直接拿过去用let hour 变成this.hour类推就行了*/ function countDown(residue) { setInterval(() => { let day = parseInt(residue / (24 * 3600)); //剩余天数 let hour = parseInt((residue) % (24 * 3600) / 3600); //剩余小时 let minute = parseInt((residue) % 3600 / 60); //剩余分钟 let second = parseInt((residue) % 60); //剩余秒数 residue-- console.log(day + '天' + hour + '小时' + minute + '分钟' + second + '秒') // 打印'1天1小时0分钟55秒' }, 1000) } /* @4 加减乘除 */ // 加法 function accAdd(num1, num2) { var r1, r2, m; try { r1 = num1.toString().split('.')[1].length; } catch (e) { r1 = 0; } try { r2 = num2.toString().split(".")[1].length; } catch (e) { r2 = 0; } m = Math.pow(10, Math.max(r1, r2)); //pow() 方法可返回 x 的 y 次幂的值。 // return (num1*m+num2*m)/m; return Math.round(num1 * m + num2 * m) / m; //round() 方法可把一个数字舍入为最接近的整数。然后除以10的N次方 } // 减法 function accSub(arg1, arg2) { var r1, r2, m, n; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度 n = (r1 >= r2) ? r1 : r2; return ((arg1 * m - arg2 * m) / m).toFixed(n); } // 乘法 function accMul(arg1, arg2) { var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); try { m += s1.split(".")[1].length } catch (e) {} try { m += s2.split(".")[1].length } catch (e) {} return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m) //pow() 方法可返回 x 的 y 次幂的值 } //除法(要配合乘法函数一起使用) function accDiv(arg1, arg2) { var t1 = 0, t2 = 0, r1, r2; try { t1 = arg1.toString().split(".")[1].length } catch (e) {} try { t2 = arg2.toString().split(".")[1].length } catch (e) {} r1 = Number(arg1.toString().replace(".", "")) r2 = Number(arg2.toString().replace(".", "")) // return (r1/r2)*pow(10,t2-t1); //改变这一句,这里相当于又是乘法了 so改变一下 return accMul(r1 / r2, Math.pow(10, t2 - t1)) //调取乘法函数 } // @5 生成随机数 function randomData() { return Math.round(Math.random() * 510); //round取整 } export { hidePhone, formatDate, countDown, accAdd, accSub, accMul, accDiv, randomData }
/*
说明文件:这里用的都是es6的语法 导入导出,拿vue举个栗子,你只需要在用到的地方,按需要导入就行了,然后在mounted中直接可以拿来用比如下面的手机****方法,在需要用到的地方import 不揍1:import { hidePhone } from '../utils/utils.js'不揍2: mounted(){ let hh=hidePhone(15308331208) console.log(hh,'222222222222'); }
*/
/* @1 隐藏中间四位数的电话好嘛**** */function hidePhone(phone) { // var tel = phone; // // console.log(typeof tel); // tel = "" + tel; // // console.log(typeof tel); // var reg=/(\d{3})\d{4}(\d{4})/; // var tel1 = tel.replace(reg, "$1****$2") // console.log(tel1); /* 第二种方法,随意选一种嘛 都是先转换成字符串的 */ var tel = phone; tel = "" + tel; var ary = tel.split(""); console.log(ary); ary.splice(3, 4, "****"); var tel1 = ary.join(""); return tel1 //153****1208}/*@2 年月日这个就有点多了(根据需求定制) */
/* 当前时间转换为年月日时分秒 */function formatDate() { var date = new Date(); var year = date.getFullYear(); var month = addZero(date.getMonth() + 1); var day = addZero(date.getDate()); var hours = addZero(date.getHours()); var minutes = addZero(date.getMinutes()); var seconds = addZero(date.getSeconds()); // return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds; return year + '-' + month + '-' + day;}/* 配合上面的函数一起使用 */function addZero(num) { return num < 10 ? '0' + num : num;}
/* @3 倒计时 这里只是说一下倒计时怎么计算,vue中直接拿过去用let hour 变成this.hour类推就行了*/function countDown(residue) { setInterval(() => { let day = parseInt(residue / (24 * 3600)); //剩余天数 let hour = parseInt((residue) % (24 * 3600) / 3600); //剩余小时 let minute = parseInt((residue) % 3600 / 60); //剩余分钟 let second = parseInt((residue) % 60); //剩余秒数 residue-- console.log(day + '天' + hour + '小时' + minute + '分钟' + second + '秒') // 打印'1天1小时0分钟55秒' }, 1000)}
/* @4 加减乘除 */// 加法function accAdd(num1, num2) { var r1, r2, m; try { r1 = num1.toString().split('.')[1].length; } catch (e) { r1 = 0; } try { r2 = num2.toString().split(".")[1].length; } catch (e) { r2 = 0; } m = Math.pow(10, Math.max(r1, r2)); //pow() 方法可返回 x 的 y 次幂的值。 // return (num1*m+num2*m)/m; return Math.round(num1 * m + num2 * m) / m; //round() 方法可把一个数字舍入为最接近的整数。然后除以10的N次方}// 减法function accSub(arg1, arg2) { var r1, r2, m, n; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度 n = (r1 >= r2) ? r1 : r2; return ((arg1 * m - arg2 * m) / m).toFixed(n);}// 乘法function accMul(arg1, arg2) { var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); try { m += s1.split(".")[1].length } catch (e) {} try { m += s2.split(".")[1].length } catch (e) {}
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m) //pow() 方法可返回 x 的 y 次幂的值}//除法(要配合乘法函数一起使用)function accDiv(arg1, arg2) { var t1 = 0, t2 = 0, r1, r2; try { t1 = arg1.toString().split(".")[1].length } catch (e) {} try { t2 = arg2.toString().split(".")[1].length } catch (e) {}
r1 = Number(arg1.toString().replace(".", "")) r2 = Number(arg2.toString().replace(".", "")) // return (r1/r2)*pow(10,t2-t1); //改变这一句,这里相当于又是乘法了 so改变一下 return accMul(r1 / r2, Math.pow(10, t2 - t1)) //调取乘法函数}
// @5 生成随机数function randomData() { return Math.round(Math.random() * 510); //round取整}
export { hidePhone, formatDate, countDown, accAdd, accSub, accMul, accDiv, randomData}