自己寫的一些公共js方法


 

/* 

說明文件:這里用的都是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} 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM