Vue 之 工作中常用的公共方法封装整理(不定时更新)

Posted zhuangwei_8256

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue 之 工作中常用的公共方法封装整理(不定时更新)相关的知识,希望对你有一定的参考价值。

验证只能为中文数字字母

function checkIsChEnNum(str){
    if (str == "")
        return true;
    var pattern = /^[A-Za-z0-9\\u4e00-\\u9fa5]+$/gi;
    if (pattern.test(str))
        return true;
    else
        return false;
}

将当前时间转为 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss

function getCurrentDate(date, type) {
    const date1 = date ? new Date(date) : new Date();
    let y = date1.getFullYear();
    let M = date1.getMonth() + 1;
    let d = date1.getDate();
    let HH = date1.getHours();
    let mm = date1.getMinutes();
    let ss = date1.getSeconds();

    M = M > 9 ? M : '0' + M ;
    d = d > 9 ? d : '0' + d ;
    HH = HH > 9 ? HH : '0' + HH ;
    mm = mm > 9 ? mm : '0' + mm ;
    ss = ss > 9 ? ss : '0' + ss ;
    
	if (type == 'yyyy-MM-dd') {
    	return `${y}-${M}-${d}`;
    } else if (type == 'yyyy-MM-dd HH:mm:ss'){
    	return `${y}-${M}-${d} ${HH}:${mm}:${ss}`;
    }
}

时间戳转化为yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss

function formatTimestamp(time, type) {
    let date = new Date();
    date.setTime(time);
    let y = date.getFullYear();
    let M = date.getMonth() + 1;
    let d = date.getDate();
    let HH = date.getHours();
    let mm = date.getMinutes();
    let ss = date.getSeconds();

    M = M > 9 ? M : '0' + M ;
    d = d > 9 ? d : '0' + d ;
    HH = HH > 9 ? HH : '0' + HH ;
    mm = mm > 9 ? mm : '0' + mm ;
    ss = ss > 9 ? ss : '0' + ss ;
    
	if (type == 'yyyy-MM-dd') {
    	return `${y}-${M}-${d}`;
    } else if (type == 'yyyy-MM-dd HH:mm:ss'){
    	return `${y}-${M}-${d} ${HH}:${mm}:${ss}`;
    }
}

保留两位小数

function toDecimal2(x) {
    let f = parseFloat(x);
    if (isNaN(f)) return '';
    f = Math.round(x*100)/100;
    let s = f.toString();
    let rs = s.indexOf('.');
    if (rs < 0) {
        rs = s.length;
        s += '.';
    }
    while (s.length <= rs + 2) {
        s += '0';
    }
    return s;
}

后端返回文件流下载(导出)文件

文件后缀名、文件类型、type值对应关系表 点击此处查看

// blobData 后台返回的文件流二进制数据
// fileName 自定义文件名称
// suffixName 文件后缀名
// fileType 文件后缀名对应的type值
function exportFile(blobData, fileName, suffixName, fileType) {
    let blob = new Blob([blobData], { type: fileType })
    let downloadElement = document.createElement('a')
    let href = window.URL.createObjectURL(blob) // 创建下载的链接
    downloadElement.href = href
    downloadElement.download =  fileName+ suffixName // 下载后文件名
    document.body.appendChild(downloadElement)
    downloadElement.click() // 点击下载
    document.body.removeChild(downloadElement) // 下载完成移除元素
}
// 示例:
exportFile(blobData, '订单明细', '.xls', 'application/vnd.ms-excel');

将中横线连接的字符串转成驼峰格式

function changeStr(str){
    var re=/-(\\w)/g;
    return str.replace(re, function ($0,$1){
        return $1.toUpperCase();
    });
}
// 示例:
let str = 'border-top-right';
console.log('str', changeStr(str))


后续会不定时更新;
如有不足,望大家多多指点! 谢谢!

以上是关于Vue 之 工作中常用的公共方法封装整理(不定时更新)的主要内容,如果未能解决你的问题,请参考以下文章

linux系列之常用运维命令整理笔录

react初探之父子组件通信封装公共组件

Web自动化常用方法封装(不定时更新)

vue项目常用之二:封装 axios 请求模块

JS之BOM对象常用知识点整理

vue公共方法封装大全