/* 說明文件:這里用的都是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))//調取乘法函數 } export {hidePhone,formatDate,countDown,accAdd,accSub,accMul,accDiv}