常用的工具类函数(一)

11 篇文章 0 订阅
7 篇文章 0 订阅

1、小数点后八位全部为0,只保留4位

/**
 * 小数点后八位全部为0,只保留4位
 * @param {*} value 传入数字
 * @returns 
 */
export const num = (value) => {
    var str = value.substr(value.indexOf('.') * 1 + 1,value.length)
    if(str * 1 == 0){
        return true
    }
    return false
}

2、手机号脱敏

/**
 * 手机号中间数字以*号代替(手机号脱敏)
 * @param {*} phone 传入手机号码
 * @returns 
 */
export const formatPhone = (phone) => {
    if(phone){
        return phone.substring(0,3) + '*****' + phone.substring(phone.length - 2);
    }
}

3、简单身份证正则

/**
 * 简单身份证正则
 * @param {*} val 传入身份证
 * @returns 
 */
export const cardID = (val) => {
    var reg = /(^\d{15}$)|(^\d{18$})|(^\d{17}(|X|x)$)/;
    return reg.test(val)
}

4、电话号码正则

/**
 * 电话号码正则
 * @param {*} e 
 * @returns 
 */
export const phonevalid = (e) => {
    var pattern = /^1[34578]\d{9}$/
    return pattern.trim(e);
}

5、时间格式化

/**
 * 
 * @param {*} date 传入时间戳
 * @param {*} ymd  是否只输出年月日
 * @param {*} symbol 分隔符格式
 * @param {*} chinese 语言
 * @returns 
 */
export const formtTime = (date,ymd,symbol,chinese) => {
    var _symbol = '-'
    if(symbol){
        _symbol = symbol
    }
    //补零操作
    var formNumber = (n) => {
        n = n.toString()
        return n[1] ? n : '0' + n
    }
    var year = date.getFullYear()
    var month = date.getMoth() + 1
    var day = date.getDate()
    var hour = date.getHours()
    var minute = date.getMinutes()
    var second = date.getSeconds()
    if(ymd){
        if(chinese){
            return year + '年' + month + '月' +day + '日'
        }else{
            return [year,month,day].map(formatNumber).join(_symbol)
        }
    }else{
        return [year,month,day].map(formatNumber).join(_symbol) + ' ' + [hour,minute,second].map(formatNumber).join(":")
    }
}

6、日期转换英文版

/**
 * 日期转换英文版
 * @param {*} date 传入时间戳
 * @returns 
 */
export const formtEnglishTime = (date) => {
    var formatNumber = (n) => {
        n = n.toString()
        return n[1] ? n : '0' + n
    }
    var year = date.getFullYear()
    var month = date.getMonth() + 1
    var englishMonth;
    switch(month){
        case 1:
            englishMonth = 'Jan'
            break;
        case 2:
            englishMonth = 'Fed'
            break;
        case 3:
            englishMonth = 'Mar'
            break;
        case 4:
            englishMonth = 'Apr'
            break;
        case 5:
            englishMonth = 'May'
            break;
        case 6:
            englishMonth = 'June'
            break;
        case 7:
            englishMonth = 'July'
            break;
        case 8:
            englishMonth = 'Aug'
            break;
        case 9:
            englishMonth = 'Sep'
            break;
        case 10:
            englishMonth = 'Oct'
            break;
        case 11:
            englishMonth = 'Nov'
            break;
        case 12:
            englishMonth = 'Dec'
            break;
        default:
            break;
    }
    var day = date.getDate()
    var week = date.getDay()
    var englishWeek;
    switch(week) {
        case 1:
            englishWeek = 'Monday'
            break;
        case 2:
            englishWeek = 'Tuesday'
            break;
        case 3:
            englishWeek = 'Wednesday'
            break;
        case 4:
            englishWeek = 'Thursday'
            break;
        case 5:
            englishWeek = 'Friday'
            break;
        case 6:
            englishWeek = 'Seturday'
            break;
        case 0:
            englishWeek = 'Sunday'
            break;
        default:
            break;
    }
    var hour = date.getHours()
    var minute = date.getMinutes()
    var second = date.getSeconds()
    var englishDay;
    if(hour >= 0 && hour <= 12){
        englishDay = 'AM'
    }else{
        englishDay = 'PM'
    }
    return [hour,minute,second].map(formatNumber).join(":") + ' ' + englishDay + 'on' +' ' + englishWeek + ',' + ' ' + formatNumber(day) + ' ' + englishMonth + ' ' + year
}

7、获取时间差

/**
 * 获取时间差,当前时间与过去时间的时间差
 * @param {*} date 
 * @returns 
 */
export const TimeDifference = (date) => {
    var oldTime = (new Date()).getTime()
    var startDate = date;
    startDate = startDate.replace(new RegExp("-","gm"),"/");
    var newTime = (new Date(startDate)).getTime();//得到毫秒数
    var Time = (newTime - oldTime) / 1000
    var dates = (Time)
    var day = setDb(Math.floor(Time /60 / 60 / 24));//天数
    var hour = setDb(Math.floor(Time / 60 /60) % 24);//时
    var min = setDb(Math.floor(Time / 60 % 60));//分
    var sec = setDb(Math.floor(Time % 60));//秒
    return {
        day:day,
        hour:hour,
        min:min,
        sec:sec,
        time:time
    }
}
/**
 * 补零操作
 * @param {*} num 
 * @returns 
 */
export const setDb = (num) => {
    if (num < 10) {
        return '0' + num;
    } else {
        return '' + num;
    }
}

8、判断机型

/**
 * 判断机型
 * @returns 是否加顶部适配div
 */
 //第一种
 export const getSystem = () => {
    var u = navigator.userAgent;
    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1;
    var isIos = !!u.match(/\i[^;]+;(U;)?CPU.+Mac OS X/);
    if (isIos) {
        return true
    } else {
        return false
    }
 }
 //第二种
 export const getOSType = () => {
    let u = navigator.userAgent;
    let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
    let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
    if (isIOS) {
        return 1;
    }
    if (isAndroid) {
        return 2;
    }
    return 3;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟咸鱼一锅端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值